{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "pbWmRwcuatWz"
      },
      "source": [
        "##### Copyright 2018 The TensorFlow Probability Authors.\n",
        "\n",
        "Licensed under the Apache License, Version 2.0 (the \"License\");"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "cellView": "form",
        "id": "I4NyePmVaxhL"
      },
      "outputs": [],
      "source": [
        "#@title Licensed under the Apache License, Version 2.0 (the \"License\"); { display-mode: \"form\" }\n",
        "# you may not use this file except in compliance with the License.\n",
        "# You may obtain a copy of the License at\n",
        "#\n",
        "# https://www.apache.org/licenses/LICENSE-2.0\n",
        "#\n",
        "# Unless required by applicable law or agreed to in writing, software\n",
        "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
        "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
        "# See the License for the specific language governing permissions and\n",
        "# limitations under the License."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CaMcWFBtVHG9"
      },
      "source": [
        "# TensorFlow Probability Case Study: Covariance Estimation\n",
        "\n",
        "<table class=\"tfo-notebook-buttons\" align=\"left\">\n",
        "  <td>\n",
        "    <a target=\"_blank\" href=\"https://www.tensorflow.org/probability/examples/TensorFlow_Probability_Case_Study_Covariance_Estimation\"><img src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" />View on TensorFlow.org</a>\n",
        "  </td>\n",
        "  <td>\n",
        "    <a target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Probability_Case_Study_Covariance_Estimation.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" />Run in Google Colab</a>\n",
        "  </td>\n",
        "  <td>\n",
        "    <a target=\"_blank\" href=\"https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Probability_Case_Study_Covariance_Estimation.ipynb\"><img src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" />View source on GitHub</a>\n",
        "  </td>\n",
        "  <td>\n",
        "    <a href=\"https://storage.googleapis.com/tensorflow_docs/probability/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Probability_Case_Study_Covariance_Estimation.ipynb\"><img src=\"https://www.tensorflow.org/images/download_logo_32px.png\" />Download notebook</a>\n",
        "  </td>\n",
        "</table>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Rueq5va_3TYc"
      },
      "source": [
        "I wrote this notebook as a case study to learn TensorFlow Probability.  The problem I chose to solve is estimating a covariance matrix for samples of a 2-D mean 0 Gaussian random variable.  The problem has a couple of nice features:\n",
        "\n",
        "* If we use an inverse Wishart prior for the covariance (a common approach), the problem has an analytic solution, so we can check our results.\n",
        "* The problem involves sampling a constrained parameter, which adds some interesting complexity.\n",
        "* The most straightforward solution is not the fastest one, so there is some optimization work to do.\n",
        "\n",
        "I decided to write my experiences up as I went along. It took me awhile to wrap my head around the finer points of TFP, so this notebook starts fairly simply and then gradually works up to more complicated TFP features.  I ran into lots of problems along the way, and I've tried to capture both the processes that helped me identify them and the workarounds I eventually found.  I've tried to include *lots* of detail (including lots of tests to make sure individual steps are correct)."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "0-qYKi2r0VFr"
      },
      "source": [
        "## Why learn TensorFlow Probability?\n",
        "\n",
        "I found TensorFlow Probability appealing for my project for a few reasons:\n",
        "\n",
        "* TensorFlow probability lets you prototype develop complex models interactively in a notebook.  You can break your code up into small pieces that you can test interactively and with unit tests.\n",
        "* Once you're ready to scale up, you can take advantage of all of the infrastructure we have in place for making TensorFlow run on multiple, optimized processors on multiple machines.\n",
        "* Finally, while I really like Stan, I find it quite difficult to debug.  You have to write all your modeling code in a standalone language that has very few tools for letting you poke at your code, inspect intermediate states, and so on.\n",
        "\n",
        "The downside is that TensorFlow Probability is much newer than Stan and PyMC3, so the documentation is a work in progress, and there's lots of functionality that's yet to be built.  Happily, I found TFP's foundation to be solid, and it's designed in a modular way that allows one to extend its functionality fairly straightforwardly.  In this notebook, in addition to solving the case study, I'll show some ways to go about extending TFP."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "DZ_vkMN0Ti4Z"
      },
      "source": [
        "## Who this is for\n",
        "\n",
        "I'm assuming that readers are coming to this notebook with some important prerequisites.  You should:\n",
        "\n",
        "* Know the basics of Bayesian inference.  (If you don't, a really nice first book is *[Statistical Rethinking](http://xcelab.net/rm/statistical-rethinking/)*)\n",
        "* Have some familiarity with an MCMC sampling library, e.g. [Stan](http://mc-stan.org/) / [PyMC3](http://docs.pymc.io/) / [BUGS](https://www.mrc-bsu.cam.ac.uk/software/bugs/)\n",
        "* Have a solid grasp of [NumPy](http://www.numpy.org/)  (One good intro is *[Python for Data Analysis](http://shop.oreilly.com/product/0636920023784.do)*)\n",
        "* Have at least passing familiarity with [TensorFlow](https://www.tensorflow.org/), but not necessarily expertise.  (*[Learning TensorFlow](http://shop.oreilly.com/product/0636920063698.do)* is good, but TensorFlow's rapid evolution means that most books will be a bit dated.  Stanford's [CS20](https://web.stanford.edu/class/cs20si/) course is also good.)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YButn5pt_71w"
      },
      "source": [
        "# First attempt\n",
        "\n",
        "Here's my first attempt at the problem.  Spoiler: my solution doesn't work, and it's going to take several attempts to get things right!  Although the process takes awhile, each attempt below has been useful for learning a new part of TFP.\n",
        "\n",
        "One note: TFP doesn't currently implement the inverse Wishart distribution (we'll see at the end how to roll our own inverse Wishart), so instead I'll change the problem to that of estimating a precision matrix using a Wishart prior."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "tQ_h8ns5Inq-"
      },
      "outputs": [],
      "source": [
        "import collections\n",
        "import math\n",
        "import os\n",
        "import time\n",
        "\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "import scipy\n",
        "import scipy.stats\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "import tensorflow.compat.v2 as tf\n",
        "tf.enable_v2_behavior()\n",
        "import tensorflow_probability as tfp\n",
        "tfd = tfp.distributions\n",
        "tfb = tfp.bijectors"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vnnN2pFUcLlF"
      },
      "source": [
        "## Step 1: get the observations together\n",
        "\n",
        "My data here are all synthetic, so this is going to seem a bit tidier than a real-world example.  However, there's no reason you can't generate some synthetic data of your own.\n",
        "\n",
        "**Tip**: Once you've decided on the form of your model, you can pick some parameter values and use your chosen model to generate some synthetic data.  As a sanity check of your implementation, you can then verify that your estimates include the true values of the parameters you chose.  To make your debugging / testing cycle faster, you might consider a simplified version of your model (e.g. use fewer dimensions or fewer samples).\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "1ykrVMrWPN_3"
      },
      "source": [
        "**Tip:** It's easiest to work with your observations as NumPy arrays.  One important thing to note is that NumPy by default uses float64's, while TensorFlow by default uses float32's. \n",
        "\n",
        "In general, TensorFlow operations want all arguments to have the same type, and you have to do explicit data casting to change types.  If you use float64 observations, you'll need to add in a lot of cast operations.  NumPy, in contrast, will take care of casting automatically.  Hence, **it is *much* easier to convert your Numpy data into float32 than it is to force TensorFlow to use float64.** "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "JG4jAba4TPxm"
      },
      "source": [
        "### Choose some parameter values"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "z4lSqTGHKAyf"
      },
      "outputs": [],
      "source": [
        "# We're assuming 2-D data with a known true mean of (0, 0)\n",
        "true_mean = np.zeros([2], dtype=np.float32)\n",
        "# We'll make the 2 coordinates correlated\n",
        "true_cor = np.array([[1.0, 0.9], [0.9, 1.0]], dtype=np.float32)\n",
        "# And we'll give the 2 coordinates different variances\n",
        "true_var = np.array([4.0, 1.0], dtype=np.float32)\n",
        "# Combine the variances and correlations into a covariance matrix\n",
        "true_cov = np.expand_dims(np.sqrt(true_var), axis=1).dot(\n",
        "    np.expand_dims(np.sqrt(true_var), axis=1).T) * true_cor\n",
        "# We'll be working with precision matrices, so we'll go ahead and compute the\n",
        "# true precision matrix here\n",
        "true_precision = np.linalg.inv(true_cov)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ayainGqrY193"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[[4.  1.8]\n",
            " [1.8 1. ]]\n",
            "eigenvalues:  [4.843075   0.15692513]\n"
          ]
        }
      ],
      "source": [
        "# Here's our resulting covariance matrix\n",
        "print(true_cov)\n",
        "# Verify that it's positive definite, since np.random.multivariate_normal\n",
        "# complains about it not being positive definite for some reason.\n",
        "# (Note that I'll be including a lot of sanity checking code in this notebook -\n",
        "# it's a *huge* help for debugging)\n",
        "print('eigenvalues: ', np.linalg.eigvals(true_cov))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ef--FDjZTTlu"
      },
      "source": [
        "### Generate some synthetic observations\n",
        "\n",
        "Note that **TensorFlow Probability uses the convention that the initial dimension(s) of your data represent sample indices, and the final dimension(s) of your data represent the dimensionality of your samples.**\n",
        "\n",
        "Here we want 100 samples, each of which is a vector of length 2.  We'll generate an array `my_data` with shape (100, 2).  `my_data[i, :]` is the $i$th sample, and it is a vector of length 2.\n",
        "\n",
        "(Remember to make `my_data` have type float32!)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "XjHoAXOlXbYi"
      },
      "outputs": [],
      "source": [
        "# Set the seed so the results are reproducible.\n",
        "np.random.seed(123)\n",
        "\n",
        "# Now generate some observations of our random variable.\n",
        "# (Note that I'm suppressing a bunch of spurious about the covariance matrix\n",
        "# not being positive semidefinite via check_valid='ignore' because it really is\n",
        "# positive definite!)\n",
        "my_data = np.random.multivariate_normal(\n",
        "    mean=true_mean, cov=true_cov, size=100,\n",
        "    check_valid='ignore').astype(np.float32)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "AfkzrIrfMRVv"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "(100, 2)"
            ]
          },
          "execution_count": 0,
          "metadata": {
            "tags": []
          },
          "output_type": "execute_result"
        }
      ],
      "source": [
        "my_data.shape"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Ffvyw94VTVoP"
      },
      "source": [
        "### Sanity check the observations\n",
        "\n",
        "One potential source of bugs is messing up your synthetic data!  Let's do some simple checks."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "uDh3-gy_n7De"
      },
      "outputs": [
        {
          "data": {
            "image/png": "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\nTkSuQmCC\n",
            "text/plain": [
              "<Figure size 600x400 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Do a scatter plot of the observations to make sure they look like what we\n",
        "# expect (higher variance on the x-axis, y values strongly correlated with x)\n",
        "plt.scatter(my_data[:, 0], my_data[:, 1], alpha=0.75)\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "sz_9MTzgTfDZ"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "mean of observations: [-0.24009615 -0.16638893]\n",
            "true mean: [0. 0.]\n"
          ]
        }
      ],
      "source": [
        "print('mean of observations:', np.mean(my_data, axis=0))\n",
        "print('true mean:', true_mean)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "YHVcvZC-UErO"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "covariance of observations:\n",
            " [[3.95307734 1.68718486]\n",
            " [1.68718486 0.94910269]]\n",
            "true covariance:\n",
            " [[4.  1.8]\n",
            " [1.8 1. ]]\n"
          ]
        }
      ],
      "source": [
        "print('covariance of observations:\\n', np.cov(my_data, rowvar=False))\n",
        "print('true covariance:\\n', true_cov)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ROazOrWF6E3v"
      },
      "source": [
        "Ok, our samples look reasonble.  Next step."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "cy2HhmCU4NZW"
      },
      "source": [
        "## Step 2: Implement the likelihood function in NumPy\n",
        "\n",
        "The main thing we'll need to write to perform our MCMC sampling in TF Probability is a log likelihood function.  In general it's a bit trickier to write TF than NumPy, so I find it helpful to do an initial implementation in NumPy.  I'm going to split the likelihood function into 2 pieces, a data likelihood function that corresponds to $P(data | parameters)$ and a prior likelihood function that corresponds to $P(parameters)$.\n",
        "\n",
        "Note that these NumPy functions don't have to be super optimized / vectorized since the goal is just to generate some values for testing.  Correctness is the key consideration!"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Dn2KwT6y_20l"
      },
      "source": [
        "First we'll implement the data log likelihood piece.  That's pretty straightforward.  The one thing to remember is that we're going to be working with precision matrices, so we'll parameterize accordingly."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "L1AvLoipOFhA"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "-280.81822950593767"
            ]
          },
          "execution_count": 0,
          "metadata": {
            "tags": []
          },
          "output_type": "execute_result"
        }
      ],
      "source": [
        "def log_lik_data_numpy(precision, data):\n",
        "  # np.linalg.inv is a really inefficient way to get the covariance matrix, but\n",
        "  # remember we don't care about speed here\n",
        "  cov = np.linalg.inv(precision)\n",
        "  rv = scipy.stats.multivariate_normal(true_mean, cov)\n",
        "  return np.sum(rv.logpdf(data))\n",
        "\n",
        "# test case: compute the log likelihood of the data given the true parameters\n",
        "log_lik_data_numpy(true_precision, my_data)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "KT3aTEydWseU"
      },
      "source": [
        "We're going to use a Wishart prior for the precision matrix since there's an analytical solution for the posterior (see [Wikipedia's handy table of conjugate priors](https://en.wikipedia.org/wiki/Conjugate_prior#Continuous_distributions)).\n",
        "\n",
        "The [Wishart distribution](https://en.wikipedia.org/wiki/Wishart_distribution) has 2 parameters: \n",
        "\n",
        "* the number of *degrees of freedom* (labeled $\\nu$ in Wikipedia)\n",
        "* a *scale matrix* (labeled $V$ in Wikipedia)\n",
        "\n",
        "The mean for a Wishart distribution with parameters $\\nu, V$ is $E[W] = \\nu V$, and the variance is $\\text{Var}(W_{ij}) = \\nu(v_{ij}^2+v_{ii}v_{jj})$\n",
        "\n",
        "Some useful intuition: You can generate a Wishart sample by generating $\\nu$ independent draws $x_1 \\ldots x_{\\nu}$ from a multivariate normal random variable with mean 0 and covariance $V$ and then forming the sum $W = \\sum_{i=1}^{\\nu} x_i x_i^T$.\n",
        "\n",
        "If you rescale Wishart samples by dividing them by $\\nu$, you get the sample covariance matrix of the $x_i$.  This sample covariance matrix should tend toward $V$ as $\\nu$ increases.  When $\\nu$ is small, there is lots of variation in the sample covariance matrix, so small values of $\\nu$ correspond to weaker priors and large values of $\\nu$ correspond to stronger priors.  Note that $\\nu$ must be at least as large as the dimension of the space you're sampling or you'll generate singular matrices.\n",
        "\n",
        "We'll use $\\nu = 3$ so we have a weak prior, and we'll take $V = \\frac{1}{\\nu} I$ which will pull our covariance estimate toward the identity (recall that the mean is $\\nu V$)."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "z6PB7bdt4vSL"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "-9.103606346649766"
            ]
          },
          "execution_count": 0,
          "metadata": {
            "tags": []
          },
          "output_type": "execute_result"
        }
      ],
      "source": [
        "PRIOR_DF = 3\n",
        "PRIOR_SCALE = np.eye(2, dtype=np.float32) / PRIOR_DF\n",
        "\n",
        "def log_lik_prior_numpy(precision):\n",
        "  rv = scipy.stats.wishart(df=PRIOR_DF, scale=PRIOR_SCALE)\n",
        "  return rv.logpdf(precision)\n",
        "\n",
        "# test case: compute the prior for the true parameters\n",
        "log_lik_prior_numpy(true_precision)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Dj6vEWta6Nvn"
      },
      "source": [
        "The Wishart distribution is the conjugate prior for estimating the precision matrix of a multivariate normal with known mean $\\mu$.\n",
        "\n",
        "Suppose the prior Wishart parameters are $\\nu, V$ and that we have $n$ observations of our multivariate normal, $x_1, \\ldots, x_n$.  The posterior parameters are $n + \\nu, \\left(V^{-1} + \\sum_{i=1}^n (x_i-\\mu)(x_i-\\mu)^T \\right)^{-1}$.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ibgUDLfImeZy"
      },
      "outputs": [],
      "source": [
        "n = my_data.shape[0]\n",
        "nu_prior = PRIOR_DF\n",
        "v_prior = PRIOR_SCALE\n",
        "nu_posterior = nu_prior + n\n",
        "v_posterior = np.linalg.inv(np.linalg.inv(v_prior) + my_data.T.dot(my_data))\n",
        "posterior_mean = nu_posterior * v_posterior\n",
        "v_post_diag = np.expand_dims(np.diag(v_posterior), axis=1)\n",
        "posterior_sd = np.sqrt(nu_posterior *\n",
        "                       (v_posterior ** 2.0 + v_post_diag.dot(v_post_diag.T)))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "PKY0FtnjsGY-"
      },
      "source": [
        "A quick plot of the posteriors and the true values.  Note that the posteriors are close to the sample posteriors but are shrunk a bit toward the identity.  Note also that the true values are pretty far from the mode of the posterior - presumably this is because prior isn't a very good match for our data.  In a real problem we'd likely do better with something like a scaled inverse Wishart prior for the covariance (see, for example, Andrew Gelman's [commentary](http://andrewgelman.com/2012/08/22/the-scaled-inverse-wishart-prior-distribution-for-a-covariance-matrix-in-a-hierarchical-model/) on the subject), but then we wouldn't have a nice analytic posterior."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "cviEd4bbeUQi"
      },
      "outputs": [
        {
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1000x1000 with 4 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "sample_precision = np.linalg.inv(np.cov(my_data, rowvar=False, bias=False))\n",
        "fig, axes = plt.subplots(2, 2)\n",
        "fig.set_size_inches(10, 10)\n",
        "for i in range(2):\n",
        "  for j in range(2):\n",
        "    ax = axes[i, j]\n",
        "    loc = posterior_mean[i, j]\n",
        "    scale = posterior_sd[i, j]\n",
        "    xmin = loc - 3.0 * scale\n",
        "    xmax = loc + 3.0 * scale\n",
        "    x = np.linspace(xmin, xmax, 1000)\n",
        "    y = scipy.stats.norm.pdf(x, loc=loc, scale=scale)\n",
        "    ax.plot(x, y)\n",
        "    ax.axvline(true_precision[i, j], color='red', label='True precision')\n",
        "    ax.axvline(sample_precision[i, j], color='red', linestyle=':', label='Sample precision')\n",
        "    ax.set_title('precision[%d, %d]' % (i, j))\n",
        "plt.legend()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "DxOs98_0Cvqz"
      },
      "source": [
        "## Step 3: Implement the likelihood function in TensorFlow\n",
        "\n",
        "Spoiler: Our first attempt isn't going to work; we'll talk about why below."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "NTYyufXBLOyV"
      },
      "source": [
        "**Tip**: use TensorFlow eager mode when developing your likelihood functions.  Eager mode makes TF behave more like NumPy - everything executes immediately, so you can debug interactively instead of having to use `Session.run()`.  See the notes [here](https://www.tensorflow.org/programmers_guide/eager)."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "iknSYSm5y73U"
      },
      "source": [
        "### Preliminary: Distribution classes\n",
        "\n",
        "TFP has a collection of distribution classes that we'll use to generate our log probabilities.  One thing to note is that these classes work with tensors of samples rather than just single samples - this allows for vectorization and related speedups.\n",
        "\n",
        "A distribution can work with a tensor of samples in 2 different ways.  It's simplest to illustrate these 2 ways with a concrete example involving a distribution with a single scalar paramter.  I'll use the [Poisson](https://www.tensorflow.org/probability/api_docs/python/tfp/distributions/Poisson) distribution, which has a `rate` parameter. \n",
        "* If we create a Poisson with a single value for the `rate` parameter, a call to its `sample()` method return a single value.  This value is called an **`event`**, and in this case the events are all scalars.\n",
        "* If we create a Poisson with a tensor of values for the `rate` parameter, a call to its `sample()`method now returns multiple values, one for each value in the rate tensor.  The object acts as a *collection* of independent Poissons, each with its own rate, and each of the values returned by a call to `sample()` corresponds to one of these Poissons.  This collection of independent *but not identically distributed* events is called a **`batch`**.\n",
        "* The `sample()` method takes a `sample_shape` parameter which defaults to an empty tuple.  Passing a non-empty value for `sample_shape` results in sample returning multiple batches.  This collection of batches is called a **`sample`**.\n",
        "\n",
        "A distribution's `log_prob()` method consumes data in a manner that parallels how `sample()` generates it.  `log_prob()` returns probabilities for samples, i.e. for multiple, independent batches of events.\n",
        "  * If we have our Poisson object that was created with a scalar `rate`, each batch is a scalar, and if we pass in a tensor of samples, we'll get out a tensor of the same size of log probabilities.\n",
        "  * If we have our Poisson object that was created with a tensor of shape `T` of `rate` values, each batch is a tensor of shape `T`.  If we pass in a tensor of samples of shape D, T, we'll get out a tensor of log probabilities of shape D, T.\n",
        "\n",
        "Below are some examples that illustrate these cases.  See [this notebook](https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/Understanding_TensorFlow_Distributions_Shapes.ipynb) for a more detailed tutorial on events, batches, and shapes.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "2zAnT8GL534f"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "iid draws from a single normal: [-1.4189385 -1.0439385 -0.9189385]\n",
            "draws from a batch of normals: [-1.4189385 -2.0439386 -8.918939 ]\n"
          ]
        }
      ],
      "source": [
        "# case 1: get log probabilities for a vector of iid draws from a single\n",
        "# normal distribution\n",
        "norm1 = tfd.Normal(loc=0., scale=1.)\n",
        "probs1 = norm1.log_prob(tf.constant([1., 0.5, 0.]))\n",
        "\n",
        "# case 2: get log probabilities for a vector of independent draws from\n",
        "# multiple normal distributions with different parameters.  Note the vector\n",
        "# values for loc and scale in the Normal constructor.\n",
        "norm2 = tfd.Normal(loc=[0., 2., 4.], scale=[1., 1., 1.])\n",
        "probs2 = norm2.log_prob(tf.constant([1., 0.5, 0.]))\n",
        "\n",
        "print('iid draws from a single normal:', probs1.numpy())\n",
        "print('draws from a batch of normals:', probs2.numpy())"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yjGMitya49UN"
      },
      "source": [
        "### Data log likelihood\n",
        "\n",
        "First we'll implement the data log likelihood function."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Nz1G3OviHpwg"
      },
      "source": [
        "Note: distributions can validate their input, but they don't do so by default.  We'll definitely want to turn on validation while we're debugging!  Once everything is working, we can turn validation off if speed is really critical."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "9ITlkvOvHkX5"
      },
      "outputs": [],
      "source": [
        "VALIDATE_ARGS = True\n",
        "ALLOW_NAN_STATS = False"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2GzEpvNgatAU"
      },
      "source": [
        "One key difference from the NumPy case is that our TensorFlow likelihood function will need to handle vectors of precision matrices rather than just single matrices.  Vectors of parameters will be used when we sample from multiple chains.\n",
        "\n",
        "We'll create a distribution object that works with a batch of precision matrices (i.e. one matrix per chain).\n",
        "\n",
        "When computing log probabilities of our data, we'll need our data to be replicated in the same manner as our parameters so that there is one copy per batch variable.  The shape of our replicated data will need to be as follows:\n",
        "\n",
        "`[sample shape, batch shape, event shape]`\n",
        "\n",
        "In our case, the event shape is 2 (since we are working with 2-D Gaussians).  The sample shape is 100, since we have 100 samples.  The batch shape will just be the number of precision matrices we're working with.  It's wasteful to replicate the data each time we call the likelihood function, so we'll replicate the data in advance and pass in the replicated version.\n",
        "\n",
        "Note that this is an inefficient implementation: `MultivariateNormalFullCovariance` is expensive relative to some alternatives that we'll talk about in the optimization section at the end."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "GJB5wJ1IEsBu"
      },
      "outputs": [],
      "source": [
        "def log_lik_data(precisions, replicated_data):\n",
        "  n = tf.shape(precisions)[0]  # number of precision matrices\n",
        "  # We're estimating a precision matrix; we have to invert to get log\n",
        "  # probabilities.  Cholesky inversion should be relatively efficient,\n",
        "  # but as we'll see later, it's even better if we can avoid doing the Cholesky\n",
        "  # decomposition altogether.\n",
        "  precisions_cholesky = tf.linalg.cholesky(precisions)\n",
        "  covariances = tf.linalg.cholesky_solve(\n",
        "      precisions_cholesky, tf.linalg.eye(2, batch_shape=[n]))\n",
        "  rv_data = tfd.MultivariateNormalFullCovariance(\n",
        "      loc=tf.zeros([n, 2]),\n",
        "      covariance_matrix=covariances,\n",
        "      validate_args=VALIDATE_ARGS,\n",
        "      allow_nan_stats=ALLOW_NAN_STATS)\n",
        "\n",
        "  return tf.reduce_sum(rv_data.log_prob(replicated_data), axis=0)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "cIUPgDtEeM8L"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "(100, 2, 2)\n"
          ]
        }
      ],
      "source": [
        "# For our test, we'll use a tensor of 2 precision matrices.\n",
        "# We'll need to replicate our data for the likelihood function.\n",
        "# Remember, TFP wants the data to be structured so that the sample dimensions\n",
        "# are first (100 here), then the batch dimensions (2 here because we have 2\n",
        "# precision matrices), then the event dimensions (2 because we have 2-D\n",
        "# Gaussian data).  We'll need to add a middle dimension for the batch using\n",
        "# expand_dims, and then we'll need to create 2 replicates in this new dimension\n",
        "# using tile.\n",
        "n = 2\n",
        "replicated_data = np.tile(np.expand_dims(my_data, axis=1), reps=[1, 2, 1])\n",
        "print(replicated_data.shape)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "eFZ-bNCrgcDf"
      },
      "source": [
        "**Tip:**  One thing I've found to be extremely helpful is writing little sanity checks of my TensorFlow functions.  It's really easy to mess up the vectorization in TF, so having the simpler NumPy functions around is a great way to verify the TF output.  Think of these as little unit tests."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "msBv3Kn7J8Oy"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "0\n",
            "numpy: -430.71218815801365\n",
            "tensorflow: -430.71207\n",
            "1\n",
            "numpy: -280.81822950593767\n",
            "tensorflow: -280.8182\n"
          ]
        }
      ],
      "source": [
        "# check against the numpy implementation\n",
        "precisions = np.stack([np.eye(2, dtype=np.float32), true_precision])\n",
        "n = precisions.shape[0]\n",
        "lik_tf = log_lik_data(precisions, replicated_data=replicated_data).numpy()\n",
        "\n",
        "for i in range(n):\n",
        "  print(i)\n",
        "  print('numpy:', log_lik_data_numpy(precisions[i], my_data))\n",
        "  print('tensorflow:', lik_tf[i])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "y41-jXuMc0K-"
      },
      "source": [
        "### Prior log likelihood\n",
        "\n",
        "The prior is easier since we don't have to worry about data replication."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "dIzU4zNxEQPQ"
      },
      "outputs": [],
      "source": [
        "@tf.function(autograph=False)\n",
        "def log_lik_prior(precisions):\n",
        "  rv_precision = tfd.WishartTriL(\n",
        "      df=PRIOR_DF,\n",
        "      scale_tril=tf.linalg.cholesky(PRIOR_SCALE),\n",
        "      validate_args=VALIDATE_ARGS,\n",
        "      allow_nan_stats=ALLOW_NAN_STATS)\n",
        "  return rv_precision.log_prob(precisions)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "e_RP9kLBdByx"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "0\n",
            "numpy: -2.2351873809649625\n",
            "tensorflow: -2.2351875\n",
            "1\n",
            "numpy: -9.103606346649766\n",
            "tensorflow: -9.103608\n"
          ]
        }
      ],
      "source": [
        "# check against the numpy implementation\n",
        "precisions = np.stack([np.eye(2, dtype=np.float32), true_precision])\n",
        "n = precisions.shape[0]\n",
        "lik_tf = log_lik_prior(precisions).numpy()\n",
        "\n",
        "for i in range(n):\n",
        "  print(i)\n",
        "  print('numpy:', log_lik_prior_numpy(precisions[i]))\n",
        "  print('tensorflow:', lik_tf[i])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "bwIARwvykZDZ"
      },
      "source": [
        "### Build the joint log likelihood function\n",
        "\n",
        "The data log likelihood function above depends on our observations, but the sampler won't have those.  We can get rid of the dependency without using a global variable by using a [closure](https://en.wikipedia.org/wiki/Closure_(computer_programming).  Closures involve an outer function that build an environment containing variables needed by an inner function."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Ps6teXnZluC5"
      },
      "outputs": [],
      "source": [
        "def get_log_lik(data, n_chains=1):\n",
        "  # The data argument that is passed in will be available to the inner function\n",
        "  # below so it doesn't have to be passed in as a parameter.\n",
        "  replicated_data = np.tile(np.expand_dims(data, axis=1), reps=[1, n_chains, 1])\n",
        "\n",
        "  @tf.function(autograph=False)\n",
        "  def _log_lik(precision):\n",
        "    return log_lik_data(precision, replicated_data) + log_lik_prior(precision)\n",
        "\n",
        "  return _log_lik"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Pg12dpHNkSny"
      },
      "source": [
        "## Step 4: Sample\n",
        "\n",
        "Ok, time to sample!  To keep things simple, we'll just use 1 chain and we'll use the identity matrix as the starting point.  We'll do things more carefully later.\n",
        "\n",
        "Again, this isn't going to work - we'll get an exception."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "1ThOyNvXkW6m"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            " Cholesky decomposition was not successful. The input might not be valid.\n",
            "\t [[{{node mcmc_sample_chain/trace_scan/while/body/_79/smart_for_loop/while/body/_371/mh_one_step/hmc_kernel_one_step/leapfrog_integrate/while/body/_537/leapfrog_integrate_one_step/maybe_call_fn_and_grads/value_and_gradients/StatefulPartitionedCall/Cholesky}}]] [Op:__inference_sample_2849]\n",
            "\n",
            "Function call stack:\n",
            "sample\n",
            "...\n",
            "Function call stack:\n",
            "sample\n",
            "\n"
          ]
        }
      ],
      "source": [
        "@tf.function(autograph=False)\n",
        "def sample():\n",
        "  tf.random.set_seed(123)\n",
        "  init_precision = tf.expand_dims(tf.eye(2), axis=0)\n",
        "\n",
        "  # Use expand_dims because we want to pass in a tensor of starting values\n",
        "  log_lik_fn = get_log_lik(my_data, n_chains=1)\n",
        "\n",
        "  # we'll just do a few steps here\n",
        "  num_results = 10\n",
        "  num_burnin_steps = 10\n",
        "  states = tfp.mcmc.sample_chain(\n",
        "     num_results=num_results,\n",
        "     num_burnin_steps=num_burnin_steps,\n",
        "     current_state=[\n",
        "         init_precision,\n",
        "     ],\n",
        "     kernel=tfp.mcmc.HamiltonianMonteCarlo(\n",
        "         target_log_prob_fn=log_lik_fn,\n",
        "         step_size=0.1,\n",
        "         num_leapfrog_steps=3),\n",
        "     trace_fn=None,\n",
        "     seed=123)\n",
        "  return states\n",
        "\n",
        "try:\n",
        "  states = sample()\n",
        "except Exception as e:\n",
        "  # shorten the giant stack trace\n",
        "  lines = str(e).split('\\n')\n",
        "  print('\\n'.join(lines[:5]+['...']+lines[-3:]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "je9NrE27snQG"
      },
      "source": [
        "### Identifying the problem\n",
        "\n",
        "`InvalidArgumentError (see above for traceback): Cholesky decomposition was not successful. The input might not be valid.`  That's not super helpful.  Let's see if we can find out more about what happened.\n",
        "\n",
        "* We'll print out the parameters for each step so we can see the value for which things fail\n",
        "* We'll add some assertions to guard against specific problems.\n",
        "\n",
        "Assertions are tricky because they're TensorFlow operations, and we have to take care that they get executed and don't get optimized out of the graph.  It's worth reading [this overview](https://wookayin.github.io/tensorflow-talk-debugging/#1) of TensorFlow debugging if you aren't familiar with TF assertions.  You can explicitly force assertions to execute using `tf.control_dependencies` (see the comments in the code below).\n",
        "\n",
        "TensorFlow's native `Print` function has the same behavior as assertions - it's an operation, and you need to take some care to ensure that it executes.  `Print` causes additional headaches when we're working in a notebook: its output is sent to `stderr`, and `stderr` isn't displayed in the cell.  We'll use a trick here: instead of using `tf.Print`, we'll create our own TensorFlow print operation via `tf.pyfunc`.  As with assertions, we have to make sure our method executes.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ZWg3y5KU_mg9"
      },
      "outputs": [],
      "source": [
        "def get_log_lik_verbose(data, n_chains=1):\n",
        "  # The data argument that is passed in will be available to the inner function\n",
        "  # below so it doesn't have to be passed in as a parameter.\n",
        "  replicated_data = np.tile(np.expand_dims(data, axis=1), reps=[1, n_chains, 1])\n",
        "\n",
        "  def _log_lik(precisions):\n",
        "    # An internal method we'll make into a TensorFlow operation via tf.py_func\n",
        "    def _print_precisions(precisions):\n",
        "      print('precisions:\\n', precisions)\n",
        "      return False  # operations must return something!\n",
        "    # Turn our method into a TensorFlow operation\n",
        "    print_op = tf.compat.v1.py_func(_print_precisions, [precisions], tf.bool)\n",
        "\n",
        "    # Assertions are also operations, and some care needs to be taken to ensure\n",
        "    # that they're executed\n",
        "    assert_op = tf.assert_equal(\n",
        "        precisions, tf.linalg.matrix_transpose(precisions),\n",
        "        message='not symmetrical', summarize=4, name='symmetry_check')\n",
        "\n",
        "    # The control_dependencies statement forces its arguments to be executed\n",
        "    # before subsequent operations\n",
        "    with tf.control_dependencies([print_op, assert_op]):\n",
        "      return (log_lik_data(precisions, replicated_data) +\n",
        "              log_lik_prior(precisions))\n",
        "\n",
        "  return _log_lik"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "znG_AtTR7qob"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "precisions:\n",
            " [[[1. 0.]\n",
            "  [0. 1.]]]\n",
            "precisions:\n",
            " [[[1. 0.]\n",
            "  [0. 1.]]]\n",
            "precisions:\n",
            " [[[ 0.24315196 -0.2761638 ]\n",
            "  [-0.33882257  0.8622    ]]]\n",
            " assertion failed: [not symmetrical] [Condition x == y did not hold element-wise:] [x (leapfrog_integrate_one_step/add:0) = ] [[[0.243151963 -0.276163787][-0.338822573 0.8622]]] [y (leapfrog_integrate_one_step/maybe_call_fn_and_grads/value_and_gradients/matrix_transpose/transpose:0) = ] [[[0.243151963 -0.338822573][-0.276163787 0.8622]]]\n",
            "\t [[{{node mcmc_sample_chain/trace_scan/while/body/_96/smart_for_loop/while/body/_381/mh_one_step/hmc_kernel_one_step/leapfrog_integrate/while/body/_503/leapfrog_integrate_one_step/maybe_call_fn_and_grads/value_and_gradients/symmetry_check_1/Assert/AssertGuard/else/_577/Assert}}]] [Op:__inference_sample_4837]\n",
            "\n",
            "Function call stack:\n",
            "sample\n",
            "...\n",
            "Function call stack:\n",
            "sample\n",
            "\n"
          ]
        }
      ],
      "source": [
        "@tf.function(autograph=False)\n",
        "def sample():\n",
        "  tf.random.set_seed(123)\n",
        "  init_precision = tf.eye(2)[tf.newaxis, ...]\n",
        "  log_lik_fn = get_log_lik_verbose(my_data)\n",
        "  # we'll just do a few steps here\n",
        "  num_results = 10\n",
        "  num_burnin_steps = 10\n",
        "  states = tfp.mcmc.sample_chain(\n",
        "      num_results=num_results,\n",
        "      num_burnin_steps=num_burnin_steps,\n",
        "      current_state=[\n",
        "          init_precision,\n",
        "      ],\n",
        "      kernel=tfp.mcmc.HamiltonianMonteCarlo(\n",
        "          target_log_prob_fn=log_lik_fn,\n",
        "          step_size=0.1,\n",
        "          num_leapfrog_steps=3),\n",
        "      trace_fn=None,\n",
        "      seed=123)\n",
        "\n",
        "try:\n",
        "  states = sample()\n",
        "except Exception as e:\n",
        "  # shorten the giant stack trace\n",
        "  lines = str(e).split('\\n')\n",
        "  print('\\n'.join(lines[:5]+['...']+lines[-3:]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "UPBlB7expwuw"
      },
      "source": [
        "### Why this fails\n",
        "\n",
        "The very first new parameter value the sampler tries is an asymmetrical matrix.  That causes the Cholesky decomposition to fail, since it's only defined for symmetrical (and positive definite) matrices.\n",
        "\n",
        "The problem here is that our parameter of interest is a precision matrix, and precision matrices must be real, symmetric, and positive definite.  The sampler doesn't know anything about this constraint (except possibly through gradients), so it is entirely possible that the sampler will propose an invalid value, leading to an exception, particularly if the step size is large.\n",
        "\n",
        "With the Hamiltonian Monte Carlo sampler, we may be able to work around the problem by using a very small step size, since the gradient should keep the parameters away from invalid regions, but small step sizes mean slow convergence.  With a Metropolis-Hastings sampler, which doesn't know anything about gradients, we're doomed."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "9RmouuKCsaYv"
      },
      "source": [
        "# Version 2: reparametrizing to unconstrained parameters\n",
        "\n",
        "There is a straightforward solution to the problem above: we can reparameterize our model such that the new parameters no longer have these constraints.  TFP provides a useful set of tools - bijectors - for doing just that.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "RGbGGMRs01Sk"
      },
      "source": [
        "### Reparameterization with bijectors\n",
        "\n",
        "Our precision matrix must be real and symmetric; we want an alternative parameterization that doesn't have these constraints.  A starting point is a Cholesky factorization of the precision matrix.  The Cholesky factors are still constrained - they are lower triangular, and their diagonal elements must be positive.  However, if we take the log of the diagonals of the Cholesky factor, the logs are no longer are constrained to be positive, and then if we flatten the lower triangular portion into a 1-D vector, we no longer have the lower triangular constraint.  The result in our case will be a length 3 vector with no constraints.\n",
        "\n",
        "(The [Stan manual](http://mc-stan.org/users/documentation/) has a great chapter on using transformations to remove various types of constraints on parameters.)\n",
        "\n",
        "This reparameterization has little effect on our data log likelihood function - we just have to invert our transformation so we get back the precision matrix - but the effect on the prior is more complicated.  We've specified that the probability of a given precision matrix is given by the Wishart distribution; what is the probability of our transformed matrix?\n",
        "\n",
        "Recall that if we apply a monotonic function $g$ to a 1-D random variable $X$, $Y = g(X)$, the density for $Y$ is given by \n",
        "\n",
        "$$\n",
        "f_Y(y) = | \\frac{d}{dy}(g^{-1}(y)) | f_X(g^{-1}(y))\n",
        "$$\n",
        "\n",
        "The derivative of $g^{-1}$ term accounts for the way that $g$ changes local volumes.  For higher dimensional random variables, the corrective factor is the absolute value of the determinant of the Jacobian of $g^{-1}$ (see [here](https://en.wikipedia.org/wiki/Probability_density_function#Dependent_variables_and_change_of_variables)).\n",
        "\n",
        "We'll have to add a Jacobian of the inverse transform into our log prior likelihood function.  Happily, TFP's `Bijector` class can take care of this for us.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "M8deaPaGI6MZ"
      },
      "source": [
        "The [`Bijector`](https://www.tensorflow.org/api_docs/python/tf/distributions/bijectors/Bijector) class is used to represent invertible, smooth functions used for changing variables in probability density functions.  Bijectors all have a `forward()` method that performs a transform, an `inverse()` method that inverts it, and `forward_log_det_jacobian()` and `inverse_log_det_jacobian()` methods that provide the Jacobian corrections we need when we reparaterize a pdf.\n",
        "\n",
        "TFP provides a collection of useful bijectors that we can combine through composition via the [`Chain`](https://www.tensorflow.org/probability/api_docs/python/tfp/bijectors/Chain) operator to form quite complicated transforms.  In our case, we'll compose the following 3 bijectors (the operations in the chain are performed from right to left):\n",
        "\n",
        "1. The first step of our transform is to perform a Cholesky factorization on the precision matrix.  There isn't a Bijector class for that; however, the [`CholeskyOuterProduct`](https://www.tensorflow.org/probability/api_docs/python/tfp/bijectors/CholeskyOuterProduct) bijector takes the product of 2 Cholesky factors.  We can use the inverse of that operation using the [`Invert`](https://www.tensorflow.org/probability/api_docs/python/tfp/bijectors/Invert) operator.\n",
        "2. The next step is to take the log of the diagonal elements of the Cholesky factor.  We accomplish this via the `TransformDiagonal` bijector and the inverse of the [`Exp`](https://www.tensorflow.org/probability/api_docs/python/tfp/bijectors/Exp) bijector.\n",
        "3. Finally we flatten the lower triangular portion of the matrix to a vector using the inverse of the `FillTriangular` bijector."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "OM4s01mGsjfZ"
      },
      "outputs": [],
      "source": [
        "# Our transform has 3 stages that we chain together via composition:\n",
        "precision_to_unconstrained = tfb.Chain([\n",
        "    # step 3: flatten the lower triangular portion of the matrix\n",
        "    tfb.Invert(tfb.FillTriangular(validate_args=VALIDATE_ARGS)),\n",
        "    # step 2: take the log of the diagonals    \n",
        "    tfb.TransformDiagonal(tfb.Invert(tfb.Exp(validate_args=VALIDATE_ARGS))),\n",
        "    # step 1: decompose the precision matrix into its Cholesky factors\n",
        "    tfb.Invert(tfb.CholeskyOuterProduct(validate_args=VALIDATE_ARGS)),\n",
        "])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "z7qIfflyn6Bv"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "single input:\n",
            "m:\n",
            " [[1. 2.]\n",
            " [2. 8.]]\n",
            "precision_to_unconstrained(m):\n",
            " [0.6931472 2.        0.       ]\n",
            "inverse(precision_to_unconstrained(m)):\n",
            " [[1. 2.]\n",
            " [2. 8.]]\n",
            "\n",
            "tensor of inputs:\n",
            "m2:\n",
            " [[[1. 2.]\n",
            "  [2. 8.]]\n",
            "\n",
            " [[1. 0.]\n",
            "  [0. 1.]]]\n",
            "precision_to_unconstrained(m2):\n",
            " [[0.6931472 2.        0.       ]\n",
            " [0.        0.        0.       ]]\n",
            "inverse(precision_to_unconstrained(m2)):\n",
            " [[[1. 2.]\n",
            "  [2. 8.]]\n",
            "\n",
            " [[1. 0.]\n",
            "  [0. 1.]]]\n"
          ]
        }
      ],
      "source": [
        "# sanity checks\n",
        "m = tf.constant([[1., 2.], [2., 8.]])\n",
        "m_fwd = precision_to_unconstrained.forward(m)\n",
        "m_inv = precision_to_unconstrained.inverse(m_fwd)\n",
        "\n",
        "# bijectors handle tensors of values, too!\n",
        "m2 = tf.stack([m, tf.eye(2)])\n",
        "m2_fwd = precision_to_unconstrained.forward(m2)\n",
        "m2_inv = precision_to_unconstrained.inverse(m2_fwd)\n",
        "\n",
        "print('single input:')\n",
        "print('m:\\n', m.numpy())\n",
        "print('precision_to_unconstrained(m):\\n', m_fwd.numpy())\n",
        "print('inverse(precision_to_unconstrained(m)):\\n', m_inv.numpy())\n",
        "print()\n",
        "\n",
        "print('tensor of inputs:')\n",
        "print('m2:\\n', m2.numpy())\n",
        "print('precision_to_unconstrained(m2):\\n', m2_fwd.numpy())\n",
        "print('inverse(precision_to_unconstrained(m2)):\\n', m2_inv.numpy())"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "9wVq7AwOKYhd"
      },
      "source": [
        "The [`TransformedDistribution`](https://www.tensorflow.org/probability/api_docs/python/tfp/distributions/TransformedDistribution) class automates the process of applying a bijector to a distribution and making the necessary Jacobian correction to `log_prob()`.  Our new prior becomes:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "k0pQ7HqrN8aq"
      },
      "outputs": [],
      "source": [
        "def log_lik_prior_transformed(transformed_precisions):\n",
        "  rv_precision = tfd.TransformedDistribution(\n",
        "      tfd.WishartTriL(\n",
        "          df=PRIOR_DF,\n",
        "          scale_tril=tf.linalg.cholesky(PRIOR_SCALE),\n",
        "          validate_args=VALIDATE_ARGS,\n",
        "          allow_nan_stats=ALLOW_NAN_STATS),\n",
        "      bijector=precision_to_unconstrained,\n",
        "      validate_args=VALIDATE_ARGS)\n",
        "  return rv_precision.log_prob(transformed_precisions)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "-ddk6nKoO2tv"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "0\n",
            "numpy: -0.8488930160357633\n",
            "tensorflow: -0.84889317\n",
            "1\n",
            "numpy: -7.305657151741624\n",
            "tensorflow: -7.305659\n"
          ]
        }
      ],
      "source": [
        "# Check against the numpy implementation.  Note that when comparing, we need\n",
        "# to add in the Jacobian correction.\n",
        "precisions = np.stack([np.eye(2, dtype=np.float32), true_precision])\n",
        "transformed_precisions = precision_to_unconstrained.forward(precisions)\n",
        "lik_tf = log_lik_prior_transformed(transformed_precisions).numpy()\n",
        "corrections = precision_to_unconstrained.inverse_log_det_jacobian(\n",
        "    transformed_precisions, event_ndims=1).numpy()\n",
        "n = precisions.shape[0]\n",
        "\n",
        "for i in range(n):\n",
        "  print(i)\n",
        "  print('numpy:', log_lik_prior_numpy(precisions[i]) + corrections[i])\n",
        "  print('tensorflow:', lik_tf[i])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "XaSA9l_UQq9Y"
      },
      "source": [
        "We just need to invert the transform for our data log likelihood:\n",
        "\n",
        "`precision = precision_to_unconstrained.inverse(transformed_precision)\n",
        "`\n",
        "\n",
        "Since we actually want the Cholesky factorization of the precision matrix, it would be more efficient to do just a partial inverse here.  However, we'll leave optimization for later and will leave the partial inverse as an exercise for the reader."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "vM-nF4t2QqSr"
      },
      "outputs": [],
      "source": [
        "def log_lik_data_transformed(transformed_precisions, replicated_data):\n",
        "  # We recover the precision matrix by inverting our bijector.  This is\n",
        "  # inefficient since we really want the Cholesky decomposition of the\n",
        "  # precision matrix, and the bijector has that in hand during the inversion,\n",
        "  # but we'll worry about efficiency later.\n",
        "  n = tf.shape(transformed_precisions)[0]\n",
        "  precisions = precision_to_unconstrained.inverse(transformed_precisions)\n",
        "  precisions_cholesky = tf.linalg.cholesky(precisions)\n",
        "  covariances = tf.linalg.cholesky_solve(\n",
        "      precisions_cholesky, tf.linalg.eye(2, batch_shape=[n]))\n",
        "  rv_data = tfd.MultivariateNormalFullCovariance(\n",
        "      loc=tf.zeros([n, 2]),\n",
        "      covariance_matrix=covariances,\n",
        "      validate_args=VALIDATE_ARGS,\n",
        "      allow_nan_stats=ALLOW_NAN_STATS)\n",
        "\n",
        "  return tf.reduce_sum(rv_data.log_prob(replicated_data), axis=0)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "WyoYF8AM3d1q"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "0\n",
            "numpy: -430.71218815801365\n",
            "tensorflow: -430.71207\n",
            "1\n",
            "numpy: -280.81822950593767\n",
            "tensorflow: -280.8182\n"
          ]
        }
      ],
      "source": [
        "# sanity check\n",
        "precisions = np.stack([np.eye(2, dtype=np.float32), true_precision])\n",
        "transformed_precisions = precision_to_unconstrained.forward(precisions)\n",
        "lik_tf = log_lik_data_transformed(\n",
        "    transformed_precisions, replicated_data).numpy()\n",
        "\n",
        "for i in range(precisions.shape[0]):\n",
        "  print(i)\n",
        "  print('numpy:', log_lik_data_numpy(precisions[i], my_data))\n",
        "  print('tensorflow:', lik_tf[i])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "3w3sMPgITLRM"
      },
      "source": [
        "Again we wrap our new functions in a closure."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "JKWHJFisTIzo"
      },
      "outputs": [],
      "source": [
        "def get_log_lik_transformed(data, n_chains=1):\n",
        "  # The data argument that is passed in will be available to the inner function\n",
        "  # below so it doesn't have to be passed in as a parameter.\n",
        "  replicated_data = np.tile(np.expand_dims(data, axis=1), reps=[1, n_chains, 1])\n",
        "\n",
        "  @tf.function(autograph=False)\n",
        "  def _log_lik_transformed(transformed_precisions):\n",
        "    return (log_lik_data_transformed(transformed_precisions, replicated_data) +\n",
        "            log_lik_prior_transformed(transformed_precisions))\n",
        "\n",
        "  return _log_lik_transformed"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Uu1eJSOqiZ3S"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[-431.5611]\n"
          ]
        }
      ],
      "source": [
        "# make sure everything runs\n",
        "log_lik_fn = get_log_lik_transformed(my_data)\n",
        "m = tf.eye(2)[tf.newaxis, ...]\n",
        "lik = log_lik_fn(precision_to_unconstrained.forward(m)).numpy()\n",
        "print(lik)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "t-XRDaXcTmX8"
      },
      "source": [
        "## Sampling\n",
        "\n",
        "Now that we don't have to worry about our sampler blowing up because of invalid parameter values, let's generate some real samples.\n",
        "\n",
        "The sampler works with the unconstrained version of our parameters, so we need to transform our initial value to its unconstrained version.  The samples that we generate will also all be in their unconstrained form, so we need to transform them back.  Bijectors are vectorized, so it's easy to do so."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "PFvyLlP_Tbi4"
      },
      "outputs": [],
      "source": [
        "# We'll choose a proper random initial value this time\n",
        "np.random.seed(123)\n",
        "initial_value_cholesky = np.array(\n",
        "    [[0.5 + np.random.uniform(), 0.0],\n",
        "     [-0.5 + np.random.uniform(), 0.5 + np.random.uniform()]],\n",
        "    dtype=np.float32)\n",
        "initial_value =  initial_value_cholesky.dot(\n",
        "  initial_value_cholesky.T)[np.newaxis, ...]\n",
        "\n",
        "# The sampler works with unconstrained values, so we'll transform our initial\n",
        "# value\n",
        "initial_value_transformed = precision_to_unconstrained.forward(\n",
        "  initial_value).numpy()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "pUobCu7xTnoa"
      },
      "outputs": [],
      "source": [
        "# Sample!\n",
        "@tf.function(autograph=False)\n",
        "def sample():\n",
        "  tf.random.set_seed(123)\n",
        "  log_lik_fn = get_log_lik_transformed(my_data, n_chains=1)\n",
        "\n",
        "  num_results = 1000\n",
        "  num_burnin_steps = 1000\n",
        "\n",
        "  states, is_accepted = tfp.mcmc.sample_chain(\n",
        "      num_results=num_results,\n",
        "      num_burnin_steps=num_burnin_steps,\n",
        "      current_state=[\n",
        "          initial_value_transformed,\n",
        "      ],\n",
        "      kernel=tfp.mcmc.HamiltonianMonteCarlo(\n",
        "          target_log_prob_fn=log_lik_fn,\n",
        "          step_size=0.1,\n",
        "          num_leapfrog_steps=3),\n",
        "      trace_fn=lambda _, pkr: pkr.is_accepted,\n",
        "      seed=123)\n",
        "  # transform samples back to their constrained form\n",
        "  precision_samples = [precision_to_unconstrained.inverse(s) for s in states]\n",
        "  return states, precision_samples, is_accepted\n",
        "\n",
        "states, precision_samples, is_accepted = sample()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "I-klSjK2m5mM"
      },
      "source": [
        "Let's compare the mean of our sampler's output to the analytic posterior mean!"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Xw7VHCMvkPKg"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "True posterior mean:\n",
            " [[ 0.9641779 -1.6534661]\n",
            " [-1.6534661  3.8683164]]\n",
            "Sample mean:\n",
            " [[ 1.4315274  -0.25587553]\n",
            " [-0.25587553  0.5740424 ]]\n"
          ]
        }
      ],
      "source": [
        "print('True posterior mean:\\n', posterior_mean)\n",
        "print('Sample mean:\\n', np.mean(np.reshape(precision_samples, [-1, 2, 2]), axis=0))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "IXvQbe7JndV-"
      },
      "source": [
        "We're way off!  Let's figure out why.  First let's look at our samples."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ajQSpMwfnmHr"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "array([[[ 1.4315385, -0.2558777],\n",
              "        [-0.2558777,  0.5740494]],\n",
              "\n",
              "       [[ 1.4315385, -0.2558777],\n",
              "        [-0.2558777,  0.5740494]],\n",
              "\n",
              "       [[ 1.4315385, -0.2558777],\n",
              "        [-0.2558777,  0.5740494]],\n",
              "\n",
              "       ...,\n",
              "\n",
              "       [[ 1.4315385, -0.2558777],\n",
              "        [-0.2558777,  0.5740494]],\n",
              "\n",
              "       [[ 1.4315385, -0.2558777],\n",
              "        [-0.2558777,  0.5740494]],\n",
              "\n",
              "       [[ 1.4315385, -0.2558777],\n",
              "        [-0.2558777,  0.5740494]]], dtype=float32)"
            ]
          },
          "execution_count": 0,
          "metadata": {
            "tags": []
          },
          "output_type": "execute_result"
        }
      ],
      "source": [
        "np.reshape(precision_samples, [-1, 2, 2])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ayxqUbCZnu-l"
      },
      "source": [
        "Uh oh - it looks like they all have the same value.  Let's figure out why.\n",
        "\n",
        "The `kernel_results_` variable is a named tuple that gives information about the sampler at each state.  The `is_accepted` field is the key here."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "grRrCz0kn4D1"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[False False False False False False False False False False False False\n",
            " False False False False False False False False False False False False\n",
            " False False False False False False False False False False False False\n",
            " False False False False False False False False False False False False\n",
            " False False False False False False False False False False False False\n",
            " False False False False False False False False False False False False\n",
            " False False False False False False False False False False False False\n",
            " False False False False False False False False False False False False\n",
            " False False False False]\n",
            "Fraction of samples accepted: 0.0\n"
          ]
        }
      ],
      "source": [
        "# Look at the acceptance for the last 100 samples\n",
        "print(np.squeeze(is_accepted)[-100:])\n",
        "print('Fraction of samples accepted:', np.mean(np.squeeze(is_accepted)))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "_cCibOo-rOG-"
      },
      "source": [
        "All our samples were rejected!  Presumably our step size was too big.  I chose `stepsize=0.1` purely arbitrarily.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "doCMVXNReOBZ"
      },
      "source": [
        "# Version 3: sampling with an adaptive step size\n",
        "\n",
        "Since sampling with my arbitrary choice of step size failed, we have a few agenda items:\n",
        "1. implement an adaptive step size, and\n",
        "2. perform some convergence checks.\n",
        "\n",
        "There is some nice sample code in `tensorflow_probability/python/mcmc/hmc.py` for implementing adaptive step sizes.  I've adapted it below.\n",
        "\n",
        "Note that there's a separate `sess.run()` statement for each step.  This is really helpful for debugging, since it allows us to easily add some per-step diagnostics if need be.  For example, we can show incremental progress, time each step, etc.\n",
        "\n",
        "**Tip:** One apparently common way to mess up your sampling is to have your graph grow in the loop.  (The reason for finalizing the graph before the session is run is to prevent just such problems.)  If you haven't been using finalize(), though, a useful debugging check if your code slows to a crawl is to print out the graph size at each step via `len(mygraph.get_operations())` - if the length increases, you're probably doing something bad.\n",
        "\n",
        "We're going to run 3 independent chains here.  Doing some comparisons between the chains will help us check for convergence."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "xgLX6o9PZRwQ"
      },
      "outputs": [],
      "source": [
        "# The number of chains is determined by the shape of the initial values.\n",
        "# Here we'll generate 3 chains, so we'll need a tensor of 3 initial values.\n",
        "N_CHAINS = 3\n",
        "\n",
        "np.random.seed(123)\n",
        "\n",
        "initial_values = []\n",
        "for i in range(N_CHAINS):\n",
        "  initial_value_cholesky = np.array(\n",
        "      [[0.5 + np.random.uniform(), 0.0],\n",
        "       [-0.5 + np.random.uniform(), 0.5 + np.random.uniform()]],\n",
        "      dtype=np.float32)\n",
        "  initial_values.append(initial_value_cholesky.dot(initial_value_cholesky.T))\n",
        "initial_values = np.stack(initial_values)\n",
        "\n",
        "initial_values_transformed = precision_to_unconstrained.forward(\n",
        "  initial_values).numpy()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "M7A-JG6hwCVu"
      },
      "outputs": [],
      "source": [
        "@tf.function(autograph=False)\n",
        "def sample():\n",
        "  tf.random.set_seed(123)\n",
        "  log_lik_fn = get_log_lik_transformed(my_data)\n",
        "\n",
        "  # Tuning acceptance rates:\n",
        "  dtype = np.float32\n",
        "  num_burnin_iter = 3000\n",
        "  num_warmup_iter = int(0.8 * num_burnin_iter) \n",
        "  num_chain_iter = 2500\n",
        "\n",
        "  # Set the target average acceptance ratio for the HMC as suggested by\n",
        "  # Beskos et al. (2013):\n",
        "  # https://projecteuclid.org/download/pdfview_1/euclid.bj/1383661192\n",
        "  target_accept_rate = 0.651\n",
        "\n",
        "  # Initialize the HMC sampler.\n",
        "  hmc = tfp.mcmc.HamiltonianMonteCarlo(\n",
        "      target_log_prob_fn=log_lik_fn,\n",
        "      step_size=0.01,\n",
        "      num_leapfrog_steps=3)\n",
        "\n",
        "  # Adapt the step size using standard adaptive MCMC procedure. See Section 4.2\n",
        "  # of Andrieu and Thoms (2008):\n",
        "  # http://www4.ncsu.edu/~rsmith/MA797V_S12/Andrieu08_AdaptiveMCMC_Tutorial.pdf\n",
        "  adapted_kernel = tfp.mcmc.SimpleStepSizeAdaptation(\n",
        "      inner_kernel=hmc,\n",
        "      num_adaptation_steps=num_warmup_iter,\n",
        "      target_accept_prob=target_accept_rate)\n",
        "\n",
        "  states, is_accepted = tfp.mcmc.sample_chain(\n",
        "      num_results=num_chain_iter,\n",
        "      num_burnin_steps=num_burnin_iter,\n",
        "      current_state=initial_values_transformed,\n",
        "      kernel=adapted_kernel,\n",
        "      trace_fn=lambda _, pkr: pkr.inner_results.is_accepted,\n",
        "      parallel_iterations=1)\n",
        "  # transform samples back to their constrained form\n",
        "  precision_samples = precision_to_unconstrained.inverse(states)\n",
        "  return states, precision_samples, is_accepted\n",
        "\n",
        "states, precision_samples, is_accepted = sample() "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "AITl0hs2KmHZ"
      },
      "source": [
        "A quick check: our acceptance rate during our sampling is close to our target of 0.651."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "cFE1S3FX0alA"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "0.6190666666666667\n"
          ]
        }
      ],
      "source": [
        "print(np.mean(is_accepted))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yPWKLqVOKuRC"
      },
      "source": [
        "Even better, our sample mean and standard deviation are close to what we expect from the analytic solution."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ktZJl5c01dmL"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "True posterior mean:\n",
            " [[ 0.9641779 -1.6534661]\n",
            " [-1.6534661  3.8683164]]\n",
            "Mean of samples:\n",
            " [[ 0.96426415 -1.6519215 ]\n",
            " [-1.6519215   3.8614824 ]]\n"
          ]
        }
      ],
      "source": [
        "precision_samples_reshaped = np.reshape(precision_samples, [-1, 2, 2])\n",
        "print('True posterior mean:\\n', posterior_mean)\n",
        "print('Mean of samples:\\n', np.mean(precision_samples_reshaped, axis=0))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "cmPzXSn83yYa"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "True posterior standard deviation:\n",
            " [[0.13435492 0.25050813]\n",
            " [0.25050813 0.53903675]]\n",
            "Standard deviation of samples:\n",
            " [[0.13622096 0.25235635]\n",
            " [0.25235635 0.5394968 ]]\n"
          ]
        }
      ],
      "source": [
        "print('True posterior standard deviation:\\n', posterior_sd)\n",
        "print('Standard deviation of samples:\\n', np.std(precision_samples_reshaped, axis=0))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YYrX5WylYdIx"
      },
      "source": [
        "## Checking for convergence\n",
        "\n",
        "In general we won't have an analytic solution to check against, so we'll need to make sure the sampler has converged.  One standard check is the Gelman-Rubin $\\hat{R}$ statistic, which requires multiple sampling chains.  $\\hat{R}$ measures the degree to which variance (of the means) between chains exceeds what one would expect if the chains were identically distributed.  Values of $\\hat{R}$ close to 1 are used to indicate approximate convergence.  See [the source](https://github.com/tensorflow/probability/blob/master/tensorflow_probability/python/mcmc/diagnostic.py#L205) for details."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "rfQXeVn-77yD"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[[1.0038308 1.0005717]\n",
            " [1.0005717 1.0006068]]\n"
          ]
        }
      ],
      "source": [
        "r_hat = tfp.mcmc.potential_scale_reduction(precision_samples).numpy()\n",
        "print(r_hat)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "sKCsWnBkpaTM"
      },
      "source": [
        "## Model criticism\n",
        "\n",
        "If we didn't have an analytic solution, this would be the time to do some real model criticism.\n",
        "\n",
        "Here are a few quick histograms of the sample components relative to our ground truth (in red).  Note that the samples have been shrunk from the sample precision matrix values toward the identity matrix prior."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "oOTvOJBmpqhS"
      },
      "outputs": [
        {
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 800x800 with 4 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "fig, axes = plt.subplots(2, 2, sharey=True)\n",
        "fig.set_size_inches(8, 8)\n",
        "for i in range(2):\n",
        "  for j in range(2):\n",
        "    ax = axes[i, j]\n",
        "    ax.hist(precision_samples_reshaped[:, i, j])\n",
        "    ax.axvline(true_precision[i, j], color='red',\n",
        "               label='True precision')\n",
        "    ax.axvline(sample_precision[i, j], color='red', linestyle=':',\n",
        "               label='Sample precision')\n",
        "    ax.set_title('precision[%d, %d]' % (i, j))\n",
        "plt.tight_layout()\n",
        "plt.legend()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "5Oi6M2ZmvKVL"
      },
      "source": [
        "Some scatterplots of pairs of precision components show that because of the correlation structure of the posterior, the true posterior values are not as unlikely as they appear from the marginals above."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "5vT6MyKVslqV"
      },
      "outputs": [
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1kAAANaCAYAAAB7lYadAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3XmYXHWB7//3WWuv6uot3Z3OHrKQ\nEMIm4HAhPsCA4AwG1AuIiA5Gx11HFO88V0edGdHfMMrFq4JeZRsWtwijiEIwIDsREshCJ6ST0Ol9\nqb3q7Of3RyVFOumkO0l3evu+nqefSp2qOudbnf6cqu/5bpLv+z6CIAiCIAiCIAjCqJDHuwCCIAiC\nIAiCIAhTiahkCYIgCIIgCIIgjCJRyRIEQRAEQRAEQRhFopIlCIIgCIIgCIIwikQlSxAEQRAEQRAE\nYRSJSpYgCIIgCIIgCMIoEpWso/DVr36V73//+2N+nEceeYSrr756zI8DsHXrVs4888wxP45pmixZ\nsoSenp4xP5Yw+YhsHTuRLWE4Il/HTuRLOBKRrWM3LbLlCyPS09PjNzU1+cVisbLtiSee8BcvXuyH\nQiF/1apV/u7du0e8v127dvmrVq3yQ6GQv3jxYv/xxx8f9PiyZcv8TZs2jVr5D+fKK6/0H3jggcr9\n/v5+/73vfa8fDof92bNn+//1X/814n15nud/+ctf9qurq/3q6mr/pptu8j3Pqzz+ne98x//iF784\nquUXJj+RreE9+eST/qpVq/x4PO7PmTPnkMdFtoTDmS75uv322/0zzjjD13Xd//CHP3xU+xKfXcKx\nENka3nT/7BKVrBH67ne/6994442V+729vX48Hvd/8Ytf+KVSyf/Sl77kn3322SPe3znnnON/4Qtf\n8IvFov+rX/3KTyQSfk9PT+Xxf/3Xf/U/9alPjep7OFhHR4efTCb9UqlU2Xb11Vf7H/jAB/xcLuf/\n5S9/8ePxuL958+YR7e/HP/6xv2jRIr+trc3fu3evv3TpUv9HP/pR5fG2tja/pqbGNwxj1N+LMHmJ\nbA3vxRdf9O+55x7/jjvuGPKDSmRLOJzpkq9f//rX/tq1a/1PfOITR/1FUHx2CcdCZGt40/2zS1Sy\nRuhd73qXf++991bu33HHHf65555buZ/P5/1gMOhv27Zt2H21tLT4uq772Wy2su28884bdFJ/5pln\n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\nv/51pk6dyuzZs3nvvfeGvE7prOvJJ59k9uzZzJ49m7POOovNmzcnH8vk55Wp79dIyNZsDeX1M5Ev\nyVbqa5N8yW9XD8lXauuSbEm2eki2UltXRr5fdhoYhmFPmTLF3rlzpx2NRu3Zs2fbH3zwQa9lXnvt\nNfuiiy46puems67DvfDCC/a5556bvD1x4kS7qakpJbUc6fXXX7ffffdde+bMmf0+/tJLL9mLFy+2\nLcuy33zzTfv000+3bTu9n9dQ6lq3bp3d2tpq27Ztr1q1KlmXbWf288rE92skZGu2juX1Rypfkq3U\n1yb5kt+uHpKv1NYl2ZJs9ZBspbauTHy/0nIka/369UydOpUpU6bgdDq58sorWblyZdqfm+rXXrFi\nBVdddVVK3nswCxYsoKSkZMDHV65cyXXXXYeiKMyfP59gMEhDQ0NaP6+h1HXWWWdRXFwMwPz589m3\nb1/K3vt46hpIuj+vdMvWbB3L649UviRbwyf5yq58ZWu2QPKV6roGItmSbB1JsjW8ugaSzs8rLY2s\n+vp6xo8fn7xdXV1NfX19n+XefPNNTj75ZC688EI++OCDYT03nXUBhMNhVq9ezWWXXZa8T1EUPve5\nzzF37lyWL1+ekpqGaqDa0/l5Ddevf/1rLrzwwuTtTH5eMPLfr5GQrdka7utnU74kW8dG8iW/XUMh\n+Ro+yZZkaygkW8M30t8vPSWvcgS7nwELFUXpdfvUU09l7969+P1+Vq1axec//3l27NgxpOems64e\nL774Ip/5zGd6tYrXrVtHVVUVjY2NLFq0iOnTp7NgwYKU1DaYgWpP5+c1HK+99hq//vWveeONN5L3\nZfLzysT3ayRka7aGWluPbMqXZGv4JF/y2zVUkq/hkWxJtoZKsjU8mfh+peVIVnV1NXV1dcnb+/bt\no6qqqtcygUAAv98PwJIlS4jH4zQ3Nw/puemsq8fTTz/d55Bwz7IVFRUsXbqU9evXp6SuoRio9nR+\nXkO1ZcsWbrrpJlauXElpaWny/kx+Xpn4fo2EbM3WUGvrkU35kmwNn+RLfruGSvI1PJItydZQSbaG\nJyPZSknPriPE43F78uTJ9q5du5KdyLZu3dprmYaGBtuyLNu2bfvtt9+2x48fb1uWNaTnprMu27bt\nYDBoFxcX26FQKHlfKBSyOzo6kv8+88wz7T/+8Y8pqavH7t27B+yw94c//KFXB8fTTjttWOuUrrr2\n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\n9zz66KPMmjULWZaPOxNLvuxfGH7N+bKP85XIVvYVWr5EtjJH5Cu7Ci1bIPKVKSJb2Vdo+cp5ttwC\n9fTTT7umabqu67q33nqre+uttw663cSJE9329vaRLG1Qw6nXsiy3oaHB3blzp5tKpdw5c+a4b731\n1kiX6rqu67799tvu1q1b3XPPPdd94403jrldvuxf1x1ezfm0j/OVyFb2FVq+RLYyR+QruwotW64r\n8pUpIlvZV2j5ynW2CvZK1oUXXoiqqgAsWrSI/fv357ii4xtOva+//jpTp06loaEBXde59tpreeyx\nx0a6VAAaGxuZPn16Tl77ZA2n5nzax/lKZCv7Ci1fIluZI/KVXYWWLRD5yhSRrewrtHzlOlsF28g6\n3H333ccll1wy6GOSJHHhhReyYMECVq9ePcKVDe5Y9TY3NzN+/Pj+n+vr62lubh7J0k5YPu7f4ynE\nfZxLIlu5lY/7+FgKdR/nkshX7uTj/j2eQtzHuSSylVv5uI+PJZv7WM3Is2TJBRdcwMGDB4+6/zvf\n+Q6XXXZZ//eqqnLdddcN+hyvvPIKtbW1tLW1sWTJEmbMmME555yTl/W6g0z0KElS5gs9ZDj1DmUk\n9y+ces0jvY/zlchW9v/uhZYvka3MEfkSn11HEvnKDJEt8dl1pHzOVl43sp577rnjPv7AAw/wxBNP\nsG7dumPukNraWgCqqqq44ooreP3117P2hz7Veuvr69m3b1//z/v37++vPxuGqnc4RnL/wqnXPNL7\nOF+JbGX/715o+RLZyhyRL/HZdSSRr8wQ2RKfXUfK62xlZGRXDjz11FNuY2Oj29bWdsxtotGo29vb\n2//92Wef7T711FMjVeIAw6nXNE138uTJ7q5du/oH323evHkEqzza8QYL5tP+Pdzxas7HfZxvRLZG\nTqHlS2Tr1Il8jYxCy5brinydKpGtkVNo+cpVtgq2kTVlyhS3vr7enTt3rjt37lz3s5/9rOu6rtvc\n3Oxecsklruu67s6dO905c+a4c+bMcWfOnOl++9vfzut6Xdd1n3zySfe0005zGxoaclrv73//e7eu\nrs7Vdd2tqqpyL7zwQtd183f/uu7wanbd/NnH+UpkK/sKLV8iW5kj8pVdhZYt1xX5yhSRrewrtHzl\nOluS6w7SGVEQBEEQBEEQBEE4KaNidkFBEARBEARBEIR8IRpZgiAIgiAIgiAIGSQaWYIgCIIgCIIg\n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\nRK5CYII=\n",
            "text/plain": [
              "<Figure size 1200x1200 with 16 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "fig, axes = plt.subplots(4, 4)\n",
        "fig.set_size_inches(12, 12)\n",
        "for i1 in range(2):\n",
        "  for j1 in range(2):\n",
        "    index1 = 2 * i1 + j1\n",
        "    for i2 in range(2):\n",
        "      for j2 in range(2):\n",
        "        index2 = 2 * i2 + j2\n",
        "        ax = axes[index1, index2]\n",
        "        ax.scatter(precision_samples_reshaped[:, i1, j1],\n",
        "                   precision_samples_reshaped[:, i2, j2], alpha=0.1)\n",
        "        ax.axvline(true_precision[i1, j1], color='red')\n",
        "        ax.axhline(true_precision[i2, j2], color='red')\n",
        "        ax.axvline(sample_precision[i1, j1], color='red', linestyle=':')\n",
        "        ax.axhline(sample_precision[i2, j2], color='red', linestyle=':')\n",
        "        ax.set_title('(%d, %d) vs (%d, %d)' % (i1, j1, i2, j2))\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "DcmvbpxoMYtl"
      },
      "source": [
        "# Version 4: simpler sampling of constrained parameters\n",
        "\n",
        "Bijectors made sampling the precision matrix straightforward, but there was a fair amount of manual converting to and from the unconstrained representation.  There is an easier way!"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Mv2bgnmVvfxk"
      },
      "source": [
        "### The TransformedTransitionKernel\n",
        "\n",
        "The `TransformedTransitionKernel` simplifies this process.  It wraps your sampler and handles all the conversions.  It takes as an argument a list of bijectors that map unconstrained parameter values to constrained ones.  So here we need the inverse of the `precision_to_unconstrained` bijector we used above.  We could just use `tfb.Invert(precision_to_unconstrained)`, but that would involve taking of inverses of inverses (TensorFlow isn't smart enough to simplify `tf.Invert(tf.Invert())` to `tf.Identity())`, so instead we'll just write a new bijector."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "paGZdKlRvj7E"
      },
      "source": [
        "### Constraining bijector"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Vv4JqbHUP9n7"
      },
      "outputs": [],
      "source": [
        "# The bijector we need for the TransformedTransitionKernel is the inverse of\n",
        "# the one we used above\n",
        "unconstrained_to_precision = tfb.Chain([\n",
        "    # step 3: take the product of Cholesky factors\n",
        "    tfb.CholeskyOuterProduct(validate_args=VALIDATE_ARGS),\n",
        "    # step 2: exponentiate the diagonals    \n",
        "    tfb.TransformDiagonal(tfb.Exp(validate_args=VALIDATE_ARGS)),\n",
        "    # step 1: map a vector to a lower triangular matrix\n",
        "    tfb.FillTriangular(validate_args=VALIDATE_ARGS),\n",
        "])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "VWgW2Qk0eM8L"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "m:\n",
            " [[1.0, 2.0], [2.0, 8.0]]\n",
            "unconstrained_to_precision.inverse(m):\n",
            " [0.6931472 2.        0.       ]\n",
            "forward(unconstrained_to_precision.inverse(m)):\n",
            " [[1. 2.]\n",
            " [2. 8.]]\n"
          ]
        }
      ],
      "source": [
        "# quick sanity check\n",
        "m = [[1., 2.], [2., 8.]]\n",
        "m_inv = unconstrained_to_precision.inverse(m).numpy()\n",
        "m_fwd = unconstrained_to_precision.forward(m_inv).numpy()\n",
        "\n",
        "print('m:\\n', m)\n",
        "print('unconstrained_to_precision.inverse(m):\\n', m_inv)\n",
        "print('forward(unconstrained_to_precision.inverse(m)):\\n', m_fwd)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "wnVsQFysvoM2"
      },
      "source": [
        "## Sampling with the TransformedTransitionKernel\n",
        "\n",
        "With the `TransformedTransitionKernel`, we no longer have to do manual transformations of our parameters.  Our initial values and our samples are all precision matrices; we just have to pass in our unconstraining bijector(s) to the kernel and it takes care of all the transformations."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "a2VVVg4KhSnb"
      },
      "outputs": [],
      "source": [
        "@tf.function(autograph=False)\n",
        "def sample():\n",
        "  tf.random.set_seed(123)\n",
        "  log_lik_fn = get_log_lik(my_data)\n",
        "\n",
        "  # Tuning acceptance rates:\n",
        "  dtype = np.float32\n",
        "  num_burnin_iter = 3000\n",
        "  num_warmup_iter = int(0.8 * num_burnin_iter) \n",
        "  num_chain_iter = 2500\n",
        "\n",
        "  # Set the target average acceptance ratio for the HMC as suggested by\n",
        "  # Beskos et al. (2013):\n",
        "  # https://projecteuclid.org/download/pdfview_1/euclid.bj/1383661192\n",
        "  target_accept_rate = 0.651\n",
        "\n",
        "  # Initialize the HMC sampler.\n",
        "  hmc = tfp.mcmc.HamiltonianMonteCarlo(\n",
        "      target_log_prob_fn=log_lik_fn,\n",
        "      step_size=0.01,\n",
        "      num_leapfrog_steps=3)\n",
        "\n",
        "  ttk = tfp.mcmc.TransformedTransitionKernel(\n",
        "      inner_kernel=hmc, bijector=unconstrained_to_precision)\n",
        "\n",
        "  # Adapt the step size using standard adaptive MCMC procedure. See Section 4.2\n",
        "  # of Andrieu and Thoms (2008):\n",
        "  # http://www4.ncsu.edu/~rsmith/MA797V_S12/Andrieu08_AdaptiveMCMC_Tutorial.pdf\n",
        "  adapted_kernel = tfp.mcmc.SimpleStepSizeAdaptation(\n",
        "      inner_kernel=ttk,\n",
        "      num_adaptation_steps=num_warmup_iter,\n",
        "      target_accept_prob=target_accept_rate)\n",
        "\n",
        "  states = tfp.mcmc.sample_chain(\n",
        "      num_results=num_chain_iter,\n",
        "      num_burnin_steps=num_burnin_iter,\n",
        "      current_state=initial_values,\n",
        "      kernel=adapted_kernel,\n",
        "      trace_fn=None,\n",
        "      parallel_iterations=1)\n",
        "  # transform samples back to their constrained form\n",
        "  return states\n",
        "\n",
        "precision_samples  = sample()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "sufld3q7kPV1"
      },
      "source": [
        "### Checking convergence\n",
        "\n",
        "The $\\hat{R}$ convergence check looks good!"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "a3Ou0K51jRfz"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[[1.0013582 1.0019467]\n",
            " [1.0019467 1.0011805]]\n"
          ]
        }
      ],
      "source": [
        "r_hat = tfp.mcmc.potential_scale_reduction(precision_samples).numpy()\n",
        "print(r_hat)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "z7Vy6BuelDPZ"
      },
      "source": [
        "### Comparison against the analytic posterior\n",
        "\n",
        "Again let's check against the analytic posterior."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "jXxuO15HkeTD"
      },
      "outputs": [],
      "source": [
        "# The output samples have shape [n_steps, n_chains, 2, 2]\n",
        "# Flatten them to [n_steps * n_chains, 2, 2] via reshape:\n",
        "precision_samples_reshaped = np.reshape(precision_samples, [-1, 2, 2])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "twDknslqk1uG"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "True posterior mean:\n",
            " [[ 0.9641779 -1.6534661]\n",
            " [-1.6534661  3.8683164]]\n",
            "Mean of samples:\n",
            " [[ 0.96687526 -1.6552585 ]\n",
            " [-1.6552585   3.867676  ]]\n"
          ]
        }
      ],
      "source": [
        "print('True posterior mean:\\n', posterior_mean)\n",
        "print('Mean of samples:\\n', np.mean(precision_samples_reshaped, axis=0))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "22448rkUk_Wa"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "True posterior standard deviation:\n",
            " [[0.13435492 0.25050813]\n",
            " [0.25050813 0.53903675]]\n",
            "Standard deviation of samples:\n",
            " [[0.13329624 0.24913791]\n",
            " [0.24913791 0.53983927]]\n"
          ]
        }
      ],
      "source": [
        "print('True posterior standard deviation:\\n', posterior_sd)\n",
        "print('Standard deviation of samples:\\n', np.std(precision_samples_reshaped, axis=0))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "-TwR4z4glG0J"
      },
      "source": [
        "# Optimizations\n",
        "\n",
        "Now that we've got things running end-to-end, let's do a more optimized version.  Speed doesn't matter too much for this example, but once matrices get larger, a few optimizations will make a big difference."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "zbZv_23gT3oG"
      },
      "source": [
        "One big speed improvement we can make is to reparameterize in terms of the Cholesky decomposition.  The reason is our data likelihood function requires both the covariance and the precision matrices.  Matrix inversion is expensive ($O(n^3)$ for an $n \\times n$ matrix), and if we parameterize in terms of either the covariance or the precision matrix, we need to do an inversion to get the other.\n",
        "\n",
        "As a reminder, a real, positive-definite, symmetric matrix $M$ can be decomposed into a product of the form $M = L L^T$ where the matrix $L$ is lower triangular and has positive diagonals.  Given the Cholesky decomposition of $M$, we can more efficiently obtain both $M$ (the product of a lower and an upper triangular matrix) and $M^{-1}$ (via back-substitution).  The Cholesky factorization itself is not cheap to compute, but if we parameterize in terms of Cholesky factors, we only need to compute the Choleksy factorization of the initial parameter values.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "mgYTtadL7sMf"
      },
      "source": [
        "## Using the Cholesky decomposition of the covariance matrix\n",
        "\n",
        "TFP has a version of the multivariate normal distribution, [MultivariateNormalTriL](https://www.tensorflow.org/probability/api_docs/python/tfp/distributions/MultivariateNormalTriL), that is parameterized in terms of the Cholesky factor of the covariance matrix.  So if we were to parameterize in terms of the Cholesky factor of the covariance matrix, we could compute the data log likelihood efficiently.  The challenge is in computing the prior log likelihood with similar efficiency.\n",
        "\n",
        "If we had a version of the inverse Wishart distribution that worked with Cholesky factors of samples, we'd be all set.  Alas, we don't.  (The team would welcome code submissions, though!)  As an alternative, we can use a version of the Wishart distribution that works with Cholesky factors of samples together with a chain of bijectors.\n",
        "\n",
        "At the moment, we're missing a few stock bijectors to make things really efficient, but I want to show the process as an exercise and a useful illustration of the power of TFP's bijectors."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "G0OWSj5HCEA6"
      },
      "source": [
        "### A Wishart distribution that operates on Cholesky factors\n",
        "\n",
        "The `Wishart` distribution has a useful flag, `input_output_cholesky`, that specifies that the input and output matrices should be Cholesky factors.  It's more efficient and numerically advantageous to work with the Cholesky factors than full matrices, which is why this is desirable.  An important point about the semantics of the flag: it's only an indication that the representation of the input and output to the distribution should change - it does *not* indicate a full reparameterization of the distribution, which would involve a Jacobian correction to the `log_prob()` function.  We actually want to do this full reparameterization, so we'll build our own distribution."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "QgUyMB4OEyFZ"
      },
      "outputs": [],
      "source": [
        "# An optimized Wishart distribution that has been transformed to operate on\n",
        "# Cholesky factors instead of full matrices.  Note that we gain a modest\n",
        "# additional speedup by specifying the Cholesky factor of the scale matrix\n",
        "# (i.e. by passing in the scale_tril parameter instead of scale).\n",
        "\n",
        "class CholeskyWishart(tfd.TransformedDistribution):\n",
        "  \"\"\"Wishart distribution reparameterized to use Cholesky factors.\"\"\"\n",
        "  def __init__(self,\n",
        "      df,\n",
        "      scale_tril,\n",
        "      validate_args=False,\n",
        "      allow_nan_stats=True,\n",
        "      name='CholeskyWishart'):\n",
        "    # Wishart has a bunch of methods that we want to support but not\n",
        "    # implement.  We'll subclass TransformedDistribution here to take care of\n",
        "    # those.  We'll override the few for which speed is critical and implement\n",
        "    # them with a separate Wishart for which input_output_cholesky=True\n",
        "    super(CholeskyWishart, self).__init__(\n",
        "        distribution=tfd.WishartTriL(\n",
        "            df=df,\n",
        "            scale_tril=scale_tril,\n",
        "            input_output_cholesky=False,\n",
        "            validate_args=validate_args,\n",
        "            allow_nan_stats=allow_nan_stats),\n",
        "        bijector=tfb.Invert(tfb.CholeskyOuterProduct()),\n",
        "        validate_args=validate_args,\n",
        "        name=name\n",
        "    )\n",
        "    # Here's the Cholesky distribution we'll use for log_prob() and sample()\n",
        "    self.cholesky = tfd.WishartTriL(\n",
        "        df=df,\n",
        "        scale_tril=scale_tril,\n",
        "        input_output_cholesky=True,\n",
        "        validate_args=validate_args,\n",
        "        allow_nan_stats=allow_nan_stats)\n",
        "    \n",
        "  def _log_prob(self, x):\n",
        "    return (self.cholesky.log_prob(x) +\n",
        "            self.bijector.inverse_log_det_jacobian(x, event_ndims=2))\n",
        "\n",
        "  def _sample_n(self, n, seed=None):\n",
        "    return self.cholesky._sample_n(n, seed)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "yVBT4gXwNZbS"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Transformed Wishart: -0.84889317\n",
            "Optimized Wishart -0.84889317\n",
            "Transformed Wishart: -99.269455\n",
            "Optimized Wishart -99.269455\n"
          ]
        }
      ],
      "source": [
        "# some checks\n",
        "PRIOR_SCALE_CHOLESKY = np.linalg.cholesky(PRIOR_SCALE)\n",
        "\n",
        "@tf.function(autograph=False)\n",
        "def compute_log_prob(m):\n",
        "  w_transformed = tfd.TransformedDistribution(\n",
        "      tfd.WishartTriL(df=PRIOR_DF, scale_tril=PRIOR_SCALE_CHOLESKY),\n",
        "      bijector=tfb.Invert(tfb.CholeskyOuterProduct()))\n",
        "  w_optimized = CholeskyWishart(\n",
        "      df=PRIOR_DF, scale_tril=PRIOR_SCALE_CHOLESKY)\n",
        "  log_prob_transformed = w_transformed.log_prob(m)\n",
        "  log_prob_optimized = w_optimized.log_prob(m)\n",
        "  return log_prob_transformed, log_prob_optimized\n",
        "\n",
        "for matrix in [np.eye(2, dtype=np.float32),\n",
        "               np.array([[1., 0.], [2., 8.]], dtype=np.float32)]:\n",
        "  log_prob_transformed, log_prob_optimized = [\n",
        "      t.numpy() for t in compute_log_prob(matrix)]\n",
        "  print('Transformed Wishart:', log_prob_transformed)\n",
        "  print('Optimized Wishart', log_prob_optimized)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "tpKd8zkW75sm"
      },
      "source": [
        "### Building an inverse Wishart distribution\n",
        "\n",
        "We have our covariance matrix $C$ decomposed into $C = L L^T$ where $L$ is lower triangular and has a positive diagonal.  We want to know the probability of $L$ given that $C \\sim W^{-1}(\\nu, V)$ where $W^{-1}$ is the inverse Wishart distribution.\n",
        "\n",
        "The inverse Wishart distribution has the property that if $C \\sim W^{-1}(\\nu, V)$, then the precision matrix $C^{-1} \\sim W(\\nu, V^{-1})$.  So we can get the probability of $L$ via a `TransformedDistribution` that takes as parameters the Wishart distribution and a bijector that maps the Cholesky factor of precision matrix to a Cholesky factor of its inverse.\n",
        "\n",
        "A straightforward (but not super efficient) way to get from the Cholesky factor of $C^{-1}$ to $L$ is to invert the Cholesky factor by back-solving, then forming the covariance matrix from these inverted factors, and then doing a Cholesky factorization.\n",
        "\n",
        "Let the Cholesky decomposition of $C^{-1} = M M^T$.  $M$ is lower triangular, so we can invert it using the `MatrixInverseTriL` bijector.\n",
        "\n",
        "Forming $C$ from $M^{-1}$ is a little tricky: $C = (M M^T)^{-1} = M^{-T}M^{-1} = M^{-T} (M^{-T})^T$.  $M$ is lower triangular, so $M^{-1}$ will also be lower triangular, and $M^{-T}$ will be upper triangular.  The `CholeskyOuterProduct()` bijector only works with lower triangular matrices, so we can't use it to form $C$ from $M^{-T}$.  Our workaround is a chain of bijectors that permute the rows and columns of a matrix.\n",
        "\n",
        "Luckily this logic is encapsulated in the `CholeskyToInvCholesky` bijector!"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "furWzJRYvFYC"
      },
      "source": [
        "### Combining all the pieces"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "QDCeOcQOrIUI"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "numpy =\n",
            " [[ 1.0307764   0.        ]\n",
            " [-0.03031695  0.12126781]]\n",
            "bijector =\n",
            " [[ 1.0307764   0.        ]\n",
            " [-0.03031695  0.12126781]]\n"
          ]
        }
      ],
      "source": [
        "# verify that the bijector works\n",
        "m = np.array([[1., 0.], [2., 8.]], dtype=np.float32)\n",
        "c_inv = m.dot(m.T)\n",
        "c = np.linalg.inv(c_inv)\n",
        "c_chol = np.linalg.cholesky(c)\n",
        "wishart_cholesky_to_iw_cholesky = tfb.CholeskyToInvCholesky()\n",
        "w_fwd = wishart_cholesky_to_iw_cholesky.forward(m).numpy()\n",
        "\n",
        "print('numpy =\\n', c_chol)\n",
        "print('bijector =\\n', w_fwd)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CF7IFULOvHy3"
      },
      "source": [
        "### Our final distribution\n",
        "\n",
        "Our inverse Wishart operating on Cholesky factors is as follows:\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "BJXoPZ1e-8yh"
      },
      "outputs": [],
      "source": [
        "inverse_wishart_cholesky = tfd.TransformedDistribution(\n",
        "    distribution=CholeskyWishart(\n",
        "        df=PRIOR_DF,\n",
        "        scale_tril=np.linalg.cholesky(np.linalg.inv(PRIOR_SCALE))),\n",
        "    bijector=tfb.CholeskyToInvCholesky())"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "DUC-6bPEapDg"
      },
      "source": [
        "We've got our inverse Wishart, but it's kind of slow because we have to do a Cholesky decomposition in the bijector.  Let's return to the precision matrix parameterization and see what we can do there for optimization."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "PIyb_aYyCzZa"
      },
      "source": [
        "# Final(!) Version: using the Cholesky decomposition of the precision matrix\n",
        "\n",
        "An alternative approach is to work with Cholesky factors of the precision matrix.  Here the prior likelihood function is easy to compute, but the data log likelihood function takes more work since TFP doesn't have a version of the multivariate normal that is parameterized by precision."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dSOOuAgZtSu5"
      },
      "source": [
        "### Optimized prior log likelihood\n",
        "\n",
        "We use the `CholeskyWishart` distribution we built above to construct the prior.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "f8V5hA9SUqHy"
      },
      "outputs": [],
      "source": [
        "# Our new prior.\n",
        "PRIOR_SCALE_CHOLESKY = np.linalg.cholesky(PRIOR_SCALE)\n",
        "\n",
        "def log_lik_prior_cholesky(precisions_cholesky):\n",
        "  rv_precision = CholeskyWishart(\n",
        "      df=PRIOR_DF,\n",
        "      scale_tril=PRIOR_SCALE_CHOLESKY,\n",
        "      validate_args=VALIDATE_ARGS,\n",
        "      allow_nan_stats=ALLOW_NAN_STATS)\n",
        "  return rv_precision.log_prob(precisions_cholesky)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "jn2ey0JdjzhW"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "0\n",
            "numpy: -0.8488930160357633\n",
            "tensorflow slow: -0.84889317\n",
            "tensorflow fast: -0.84889317\n",
            "1\n",
            "numpy: -7.442875031036973\n",
            "tensorflow slow: -7.442877\n",
            "tensorflow fast: -7.442876\n"
          ]
        }
      ],
      "source": [
        "# Check against the slower TF implementation and the NumPy implementation.\n",
        "# Note that when comparing to NumPy, we need to add in the Jacobian correction.\n",
        "precisions = [np.eye(2, dtype=np.float32),\n",
        "              true_precision]\n",
        "precisions_cholesky = np.stack([np.linalg.cholesky(m) for m in precisions])\n",
        "precisions = np.stack(precisions)\n",
        "lik_tf = log_lik_prior_cholesky(precisions_cholesky).numpy()\n",
        "lik_tf_slow = tfd.TransformedDistribution(\n",
        "    distribution=tfd.WishartTriL(\n",
        "        df=PRIOR_DF, scale_tril=tf.linalg.cholesky(PRIOR_SCALE)),\n",
        "    bijector=tfb.Invert(tfb.CholeskyOuterProduct())).log_prob(\n",
        "    precisions_cholesky).numpy()\n",
        "corrections = tfb.Invert(tfb.CholeskyOuterProduct()).inverse_log_det_jacobian(\n",
        "    precisions_cholesky, event_ndims=2).numpy()\n",
        "n = precisions.shape[0]\n",
        "\n",
        "for i in range(n):\n",
        "  print(i)\n",
        "  print('numpy:', log_lik_prior_numpy(precisions[i]) + corrections[i])\n",
        "  print('tensorflow slow:', lik_tf_slow[i])\n",
        "  print('tensorflow fast:', lik_tf[i])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "cjjqZccAPaVG"
      },
      "source": [
        "### Optimized data log likelihood\n",
        "\n",
        "We can use TFP's bijectors to build our own version of the multivariate normal.  Here is the key idea:\n",
        "\n",
        "Suppose I have a column vector $X$ whose elements are iid samples of $N(0, 1)$.  We have $\\text{mean}(X) = 0$ and $\\text{cov}(X) = I$\n",
        "\n",
        "Now let $Y = A X + b$.  We have $\\text{mean}(Y) = b$ and $\\text{cov}(Y) = A A^T$\n",
        "\n",
        "Hence we can make vectors with mean $b$ and covariance $C$ using the affine transform $Ax+b$ to vectors of iid standard Normal samples provided $A A^T = C$.  The Cholesky decomposition of $C$ has the desired property.  However, there are other solutions.\n",
        "\n",
        "Let $P = C^{-1}$ and let the Cholesky decomposition of $P$ be $B$, i.e. $B B^T = P$.  Now\n",
        "\n",
        "$P^{-1} = (B B^T)^{-1} = B^{-T} B^{-1} = B^{-T} (B^{-T})^T$\n",
        "\n",
        "So another way to get our desired mean and covariance is to use the affine transform $Y=B^{-T}X + b$.\n",
        "\n",
        "Our approach (courtesy of [this notebook](https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/Bayesian_Gaussian_Mixture_Model.ipynb)):\n",
        "1. Use `tfd.Independent()` to combine a batch of 1-D `Normal` random variables into a single multi-dimensional random variable. The `reinterpreted_batch_ndims` parameter for `Independent()` specifies the number of batch dimensions that should be reinterpreted as event dimensions.  In our case we create a 1-D batch of length 2 that we transform into a 1-D event of length 2, so `reinterpreted_batch_ndims=1`.\n",
        "2. Apply a bijector to add the desired covariance: `tfb.Invert(tfb.Affine(scale_tril=precision_cholesky, adjoint=True))`.  Note that above we're multiplying our iid normal random variables by the transpose of the inverse of the Cholesky factor of the precision matrix $(B^{-T}X)$.  The `tfb.Invert` takes care of inverting $B$, and the `adjoint=True` flag performs the transpose.\n",
        "3. Apply a bijector to add the desired offset: `tfb.Affine(shift=shift)`  Note that we have to do the shift as a separate step from the initial inverted affine transform because otherwise the inverted scale is applied to the shift (since the inverse of $y=Ax+b$ is $x=A^{-1}y - A^{-1}b$).\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "GLUqa6lvPCIM"
      },
      "outputs": [],
      "source": [
        "class MVNPrecisionCholesky(tfd.TransformedDistribution):\n",
        "  \"\"\"Multivariate normal parameterized by loc and Cholesky precision matrix.\"\"\"\n",
        "\n",
        "  def __init__(self, loc, precision_cholesky, name=None):\n",
        "    super(MVNPrecisionCholesky, self).__init__(\n",
        "        distribution=tfd.Independent(\n",
        "            tfd.Normal(loc=tf.zeros_like(loc),\n",
        "                       scale=tf.ones_like(loc)),\n",
        "            reinterpreted_batch_ndims=1),\n",
        "        bijector=tfb.Chain([\n",
        "            tfb.Affine(shift=loc),\n",
        "            tfb.Invert(tfb.Affine(scale_tril=precision_cholesky,\n",
        "                                  adjoint=True)),\n",
        "        ]),\n",
        "        name=name)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "5rp-71gFUdUz"
      },
      "outputs": [],
      "source": [
        "@tf.function(autograph=False)\n",
        "def log_lik_data_cholesky(precisions_cholesky, replicated_data):\n",
        "  n = tf.shape(precisions_cholesky)[0]  # number of precision matrices\n",
        "  rv_data = MVNPrecisionCholesky(\n",
        "      loc=tf.zeros([n, 2]),\n",
        "      precision_cholesky=precisions_cholesky)\n",
        "  return tf.reduce_sum(rv_data.log_prob(replicated_data), axis=0)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "wp9qyJebgHXu"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "0\n",
            "numpy: -430.71218815801365\n",
            "tensorflow: -430.71207\n",
            "1\n",
            "numpy: -280.81822950593767\n",
            "tensorflow: -280.81824\n"
          ]
        }
      ],
      "source": [
        "# check against the numpy implementation\n",
        "true_precision_cholesky = np.linalg.cholesky(true_precision)\n",
        "precisions = [np.eye(2, dtype=np.float32), true_precision]\n",
        "precisions_cholesky = np.stack([np.linalg.cholesky(m) for m in precisions])\n",
        "precisions = np.stack(precisions)\n",
        "n = precisions_cholesky.shape[0]\n",
        "replicated_data = np.tile(np.expand_dims(my_data, axis=1), reps=[1, 2, 1])\n",
        "lik_tf = log_lik_data_cholesky(precisions_cholesky, replicated_data).numpy()\n",
        "\n",
        "for i in range(n):\n",
        "  print(i)\n",
        "  print('numpy:', log_lik_data_numpy(precisions[i], my_data))\n",
        "  print('tensorflow:', lik_tf[i])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "rHZY4zxOt5BH"
      },
      "source": [
        "### Combined log likelihood function\n",
        "\n",
        "Now we combine our prior and data log likelihood functions in a closure."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "tqx8TS2wYTYh"
      },
      "outputs": [],
      "source": [
        "def get_log_lik_cholesky(data, n_chains=1):\n",
        "  # The data argument that is passed in will be available to the inner function\n",
        "  # below so it doesn't have to be passed in as a parameter.\n",
        "  replicated_data = np.tile(np.expand_dims(data, axis=1), reps=[1, n_chains, 1])\n",
        "\n",
        "  @tf.function(autograph=False)\n",
        "  def _log_lik_cholesky(precisions_cholesky):\n",
        "    return (log_lik_data_cholesky(precisions_cholesky, replicated_data) +\n",
        "            log_lik_prior_cholesky(precisions_cholesky))\n",
        "\n",
        "  return _log_lik_cholesky"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Cig7gNSUt7ls"
      },
      "source": [
        "### Constraining bijector\n",
        "\n",
        "Our samples are constrained to be valid Cholesky factors, which means they must be lower triangular matrices with positive diagonals.  The `TransformedTransitionKernel` needs a bijector that maps unconstrained tensors to/from tensors with our desired constraints.  We've removed the Cholesky decomposition from the bijector's inverse, which speeds things up."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "8Nva4oOGTjN_"
      },
      "outputs": [],
      "source": [
        "unconstrained_to_precision_cholesky = tfb.Chain([\n",
        "    # step 2: exponentiate the diagonals    \n",
        "    tfb.TransformDiagonal(tfb.Exp(validate_args=VALIDATE_ARGS)),\n",
        "    # step 1: expand the vector to a lower triangular matrix\n",
        "    tfb.FillTriangular(validate_args=VALIDATE_ARGS),\n",
        "])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "oXcs29Znlzvx"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "precisions_cholesky:\n",
            " [[[ 1.         0.       ]\n",
            "  [ 0.         1.       ]]\n",
            "\n",
            " [[ 1.1470785  0.       ]\n",
            "  [-2.0647411  1.0000004]]]\n",
            "\n",
            "inv:\n",
            " [[ 0.0000000e+00  0.0000000e+00  0.0000000e+00]\n",
            " [ 3.5762781e-07 -2.0647411e+00  1.3721828e-01]]\n",
            "\n",
            "fwd(inv):\n",
            " [[[ 1.         0.       ]\n",
            "  [ 0.         1.       ]]\n",
            "\n",
            " [[ 1.1470785  0.       ]\n",
            "  [-2.0647411  1.0000004]]]\n"
          ]
        }
      ],
      "source": [
        "# some checks\n",
        "inv = unconstrained_to_precision_cholesky.inverse(precisions_cholesky).numpy()\n",
        "fwd = unconstrained_to_precision_cholesky.forward(inv).numpy()\n",
        "print('precisions_cholesky:\\n', precisions_cholesky)\n",
        "print('\\ninv:\\n', inv)\n",
        "print('\\nfwd(inv):\\n', fwd)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "HU6SK7DMuR6B"
      },
      "source": [
        "### Initial values\n",
        "\n",
        "We generate a tensor of initial values.  We're working with Cholesky factors, so we generate some Cholesky factor initial values."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "oIOjT1HxZg0C"
      },
      "outputs": [],
      "source": [
        "# The number of chains is determined by the shape of the initial values.\n",
        "# Here we'll generate 3 chains, so we'll need a tensor of 3 initial values.\n",
        "N_CHAINS = 3\n",
        "\n",
        "np.random.seed(123)\n",
        "\n",
        "initial_values_cholesky = []\n",
        "for i in range(N_CHAINS):\n",
        "  initial_values_cholesky.append(np.array(\n",
        "      [[0.5 + np.random.uniform(), 0.0],\n",
        "       [-0.5 + np.random.uniform(), 0.5 + np.random.uniform()]],\n",
        "      dtype=np.float32))\n",
        "initial_values_cholesky = np.stack(initial_values_cholesky)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "VakfU-Tyuic4"
      },
      "source": [
        "### Sampling\n",
        "\n",
        "We sample N_CHAINS chains using the `TransformedTransitionKernel`."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "aFzFjNIoYre3"
      },
      "outputs": [],
      "source": [
        "@tf.function(autograph=False)\n",
        "def sample():\n",
        "  tf.random.set_seed(123)\n",
        "  log_lik_fn = get_log_lik_cholesky(my_data)\n",
        "\n",
        "  # Tuning acceptance rates:\n",
        "  dtype = np.float32\n",
        "  num_burnin_iter = 3000\n",
        "  num_warmup_iter = int(0.8 * num_burnin_iter) \n",
        "  num_chain_iter = 2500\n",
        "\n",
        "  # Set the target average acceptance ratio for the HMC as suggested by\n",
        "  # Beskos et al. (2013):\n",
        "  # https://projecteuclid.org/download/pdfview_1/euclid.bj/1383661192\n",
        "  target_accept_rate = 0.651\n",
        "\n",
        "  # Initialize the HMC sampler.\n",
        "  hmc = tfp.mcmc.HamiltonianMonteCarlo(\n",
        "      target_log_prob_fn=log_lik_fn,\n",
        "      step_size=0.01,\n",
        "      num_leapfrog_steps=3)\n",
        "\n",
        "  ttk = tfp.mcmc.TransformedTransitionKernel(\n",
        "      inner_kernel=hmc, bijector=unconstrained_to_precision_cholesky)\n",
        "\n",
        "  # Adapt the step size using standard adaptive MCMC procedure. See Section 4.2\n",
        "  # of Andrieu and Thoms (2008):\n",
        "  # http://www4.ncsu.edu/~rsmith/MA797V_S12/Andrieu08_AdaptiveMCMC_Tutorial.pdf\n",
        "  adapted_kernel = tfp.mcmc.SimpleStepSizeAdaptation(\n",
        "      inner_kernel=ttk,\n",
        "      num_adaptation_steps=num_warmup_iter,\n",
        "      target_accept_prob=target_accept_rate)\n",
        "\n",
        "  states = tfp.mcmc.sample_chain(\n",
        "      num_results=num_chain_iter,\n",
        "      num_burnin_steps=num_burnin_iter,\n",
        "      current_state=initial_values,\n",
        "      kernel=adapted_kernel,\n",
        "      trace_fn=None,\n",
        "      parallel_iterations=1)\n",
        "  # transform samples back to their constrained form\n",
        "  samples = tf.linalg.matmul(states, states, transpose_b=True)\n",
        "  return samples\n",
        "\n",
        "precision_samples = sample()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "9V5D9rCgurdK"
      },
      "source": [
        "### Convergence check"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "GKcXls81qwig"
      },
      "source": [
        "A quick convergence check looks good:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "8S70eeurquGj"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[[1.0013583 1.0019467]\n",
            " [1.0019467 1.0011804]]\n"
          ]
        }
      ],
      "source": [
        "r_hat = tfp.mcmc.potential_scale_reduction(precision_samples).numpy()\n",
        "print(r_hat)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "1jX-PqDluuaZ"
      },
      "source": [
        "### Comparing results to the analytic posterior"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "merfcOkkrKMS"
      },
      "outputs": [],
      "source": [
        "# The output samples have shape [n_steps, n_chains, 2, 2]\n",
        "# Flatten them to [n_steps * n_chains, 2, 2] via reshape:\n",
        "precision_samples_reshaped = np.reshape(precision_samples, newshape=[-1, 2, 2])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "f15131B3skLj"
      },
      "source": [
        "And again, the sample means and standard deviations match those of the analytic posterior."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ZzDUnYjLsDI3"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "True posterior mean:\n",
            " [[ 0.9641779 -1.6534661]\n",
            " [-1.6534661  3.8683164]]\n",
            "Mean of samples:\n",
            " [[ 0.9668749 -1.6552604]\n",
            " [-1.6552604  3.8676758]]\n"
          ]
        }
      ],
      "source": [
        "print('True posterior mean:\\n', posterior_mean)\n",
        "print('Mean of samples:\\n', np.mean(precision_samples_reshaped, axis=0))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "C5ztGXbrsNSe"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "True posterior standard deviation:\n",
            " [[0.13435492 0.25050813]\n",
            " [0.25050813 0.53903675]]\n",
            "Standard deviation of samples:\n",
            " [[0.13329637 0.24913797]\n",
            " [0.24913797 0.53983945]]\n"
          ]
        }
      ],
      "source": [
        "print('True posterior standard deviation:\\n', posterior_sd)\n",
        "print('Standard deviation of samples:\\n', np.std(precision_samples_reshaped, axis=0))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dqFQDMOHsXED"
      },
      "source": [
        "Ok, all done!  We've got our optimized sampler working."
      ]
    }
  ],
  "metadata": {
    "colab": {
      "collapsed_sections": [],
      "name": "TensorFlow_Probability_Case_Study_Covariance_Estimation.ipynb",
      "toc_visible": true
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
